Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <pre><code>.foreach (object {!DumpHeap -type System.Web.HttpRequest -short}) { !do ${object} } </code></pre> <p>This will dump every HttpRequest. The URL is a bit deeper down. First you have to find the offset of the <code>_url</code> property:</p> <pre><code> MT Field Offset Type VT Attr Value Name 000007feedc1cc70 4000d7d 90 System.Uri 0 instance 00000000025f2020 _url </code></pre> <p>In this case (64 bit) it's at offset 0x90. To dump all the Uri objects, replace the <code>!do ${object}</code> by <code>!do poi(${object}+90)</code>. But still this is not the URL, so let's see:</p> <pre><code> MT Field Offset Type VT Attr Value Name 000007feeeaa68f0 400161c 8 System.String 0 instance 00000000025f1e18 m_String 000007feeeaa68f0 400161d 10 System.String 0 instance 0000000000000000 m_originalUnicodeString </code></pre> <p>At offset 0x8, the URI has a string and at 0x10 another string. Again we add the offset, so exchange <code>!do poi(${object}+90)</code> by <code>!do poi(poi(${object}+90)+8)</code> (or +10). This will print the .NET string object with all fields. If you want the pure string, do it once again:</p> <pre><code> MT Field Offset Type VT Attr Value Name 000007feeeaab318 4000104 c System.Char 1 instance 68 m_firstChar </code></pre> <p>This time we're not using !do any more, because we're on raw bits and bytes and dump a unicode string with <code>du poi(poi(${object}+90)+8)+c</code>. The total command for all HttpRequests is then:</p> <pre><code>.foreach (object {!DumpHeap -type System.Web.HttpRequest -short}) { du poi(poi(${object}+90)+8)+c } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload