gpt4 book ai didi

c# - Windbg 帮助 -> 如何阅读此调用堆栈中的代码?

转载 作者:太空狗 更新时间:2023-10-29 19:40:16 25 4
gpt4 key购买 nike

我有一个我制作的 Windows 服务的转储。异常(exception)是我的代码无法移动文件(出于某种原因)。现在,在我的代码中有很多地方可以在文件系统中移动文件。因此,使用 Windbg,我试图查看发生异常的代码。

这是我的 !clrstack 转储..

0:016> !clrstack -p
OS Thread Id: 0xdf8 (16)
Child-SP RetAddr Call Site
0000000019edea70 0000064278a15e4f System.IO.__Error.WinIOError(Int32, System.String)
PARAMETERS:
errorCode = <no data>
maybeFullPath = <no data>

0000000019edead0 0000064280181ce5 System.IO.File.Move(System.String, System.String)
PARAMETERS:
sourceFileName = <no data>
destFileName = <no data>

0000000019edeb50 0000064280196532 MyClass.Foo.DoSomeStuffInHere(System.String)
PARAMETERS:
this = 0x0000000000c30aa8
filePathAndName = 0x0000000000d1aad0

现在,这很有帮助...

0:016> !do 0x0000000000d1aad0
Name: System.String
MethodTable: 00000642784365e8
EEClass: 000006427803e4f0
Size: 88(0x58) bytes
(C:\WINDOWS\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
String: C:\BlahBlahFolder\FooFolder\4469.jpg
Fields:
-snipped-

所以我找到了移动失败的文件。 kewl。但我只想查看调用 File.Move(..) 的方法 MyClass.Foo.DoSomeStuffInHere(System.String) 中的代码。该方法有很多 File.Move .. 所以我可以放入 try/catches/debug/trace 信息 .. 但我希望通过使用 Windbg 来帮助找到这个问题来提高效率。

有什么想法吗?

最佳答案

除非应用程序是在 Debug模式下部署的,否则您无法获得确切的代码行。如果真是这样,我相信它会在 !clrstack 调用中显示它们。

关于c# - Windbg 帮助 -> 如何阅读此调用堆栈中的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/249994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com