WinDbg中asp.net应用程序的堆栈跟踪中的源代码行号

时间:2016-12-13 15:41:00

标签: c# asp.net debugging windbg pdb-files

我已经将IIS w3wp.exe进程和inetpub文件夹转储到了运行asp.net应用程序的dll和pdb。

当我在WinDbg中执行命令!dumpstack时,没有关于代码行号的信息,只有函数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))

在此命令之前,我还使用命令设置符号路径:.symfix d:\inetpub\bin; .reload

我想解决的主要问题 - 方法EmailProcessor.Process中的哪一行代码调用System.Text.RegularExpressions.Regex方法 - 也许我可以在IL代码中使用+0x27f MethodDesc offset和get命令获取它?

Web应用程序构建设置 - Release配置和Debug infofull

UPD

当我在转储上运行!clrstack命令时,我会得到类似的结果:

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()

0 个答案:

没有答案