I have dump of IIS w3wp.exe
process and inetpub
folder with dll's and pdb's of working asp.net application.
When I execute command !dumpstack
in WinDbg, there is no information about code line number, only offset near with function MD:
0:088> !DumpStack
OS Thread Id: 0x1b358 (88)
Current frame: (MethodDesc 00007ffdc6850430 +0x2ae System.Text.RegularExpressions.RegexInterpreter.Go())
Child-SP RetAddr Caller, Callee
00000016e619e380 00007ffdc66c3675 (MethodDesc 00007ffdc5fc8650 +0x185 System.Text.RegularExpressions.RegexRunner.Scan(System.Text.RegularExpressions.Regex, System.String, Int32, Int32, Int32, Int32, Boolean, System.TimeSpan))
00000016e619e3f0 00007ffdc66c333e (MethodDesc 00007ffdc5fc1db8 +0x1ce System.Text.RegularExpressions.Regex.Run(Boolean, Int32, System.String, Int32, Int32, Int32)), calling (MethodDesc 00007ffdc5fc8650 +0 System.Text.RegularExpressions.RegexRunner.Scan(System.Text.RegularExpressions.Regex, System.String, Int32, Int32, Int32, Int32, Boolean, System.TimeSpan))
00000016e619e4b0 00007ffdc66c3110 (MethodDesc 00007ffdc5fc1bd8 +0x30 System.Text.RegularExpressions.Regex.Match(System.String, Int32)), calling (MethodDesc 00007ffdc5fc1db8 +0 System.Text.RegularExpressions.Regex.Run(Boolean, Int32, System.String, Int32, Int32, Int32))
00000016e619e4c0 00007ffdc66c209a (MethodDesc 00007ffdc5fc19f8 +0x3a System.Text.RegularExpressions.Regex..ctor(System.String)), calling (MethodDesc 00007ffdc5fc1a28 +0 System.Text.RegularExpressions.Regex..ctor(System.String, System.Text.RegularExpressions.RegexOptions, System.TimeSpan, Boolean))
00000016e619e500 00007ffdc888d27f (MethodDesc 00007ffdc8aee670 +0x27f EmailProcessor.Process()), calling (MethodDesc 00007ffdc5fc1bc8 +0 System.Text.RegularExpressions.Regex.Match(System.String))
Before this command I also set symbols path with commands: .symfix d:\inetpub\bin; .reload
.
The main problem I want to solve — which line of code in method EmailProcessor.Process
calls System.Text.RegularExpressions.Regex
methods — maybe I can get it with +0x27f
MethodDesc offset and get command in IL code?
Web application build settings — Release
configuration and Debug info
is full
.
UPD
When I run !clrstack
command on my dump I get something like this:
0:088> !CLRStack
OS Thread Id: 0x1b358 (88)
Child SP IP Call Site
00000016e619d610 00007ffdc66c41ce System.Text.RegularExpressions.RegexInterpreter.Go()
00000016e619e390 00007ffdc66c3675 System.Text.RegularExpressions.RegexRunner.Scan(System.Text.RegularExpressions.Regex, System.String, Int32, Int32, Int32, Int32, Boolean, System.TimeSpan)
00000016e619e400 00007ffdc66c333e System.Text.RegularExpressions.Regex.Run(Boolean, Int32, System.String, Int32, Int32, Int32)
00000016e619e4c0 00007ffdc66c3110 System.Text.RegularExpressions.Regex.Match(System.String, Int32)
00000016e619e510 00007ffdc888d27f EmailProcessor.Process()