我试图在windbg中使用“dt”命令查看IMAGE_DOS_HEADER结构:0:001>dtntdll!IMAGE_DOS_HEADER**Symbolntdll!IMAGE_DOS_HEADERnotfound**我搜索了一下,发现其他人已经可以做到这一点:MSDNBlogs>Junyoung'sBlog>PortableExecutableFileFormatonMemoryDump0:000>dtIMAGE_DOS_HEADER77c00000ntdll!IMAGE_DOS_HEADER+0x000e_magic:0x5a4d?MZ+0x002e_cblp:0x90+0x00
是否可以在windbg中的nativec++应用程序转储中查看线程性能计数器。 最佳答案 不,不可能看到计数器的值,因为它们不存储在C++应用程序地址空间中。您可能从转储中提取的只是线程ID、用户时间、内核时间和运行时间(请参阅!runaway命令)。 关于windows-Windbg故障转储中的性能计数器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2333719/
我已将WinDbg附加到进程。当我使用命令bp设置断点时。我收到以下错误:bpxyz!abc::funcCouldn'tresolveerroratxyz!abc::func怎么了? 最佳答案 当你执行lmmxyz时,你得到了startendmodulename4d6c00004dc59000xyz(exportsymbols)C:\ProgramFiles\pathtoxyz术语exportsymbols告诉我们它只加载了DLL的“公共(public)”函数。要加载私有(private)符号,请执行.sympathc:\path\
在Windows7上,我尝试通过执行命令从Java进程获取堆栈跟踪jstack.exe-Fxxx来自另一个Java进程,其中xxx是目标进程的PID。我遇到了错误Errorattachingtoprocess:WindbgError:WaitForEventfailed!知道为什么吗? 最佳答案 您可能需要以管理员身份运行该命令。如果您没有该过程的访问权限,您也会收到相同的错误消息。 关于java-jstack结果为"WindbgError:WaitForEventfailed",我们在
有没有办法在纯headless模式下使用WinDbg?我的用例是我应该能够在不启动WinDbgGUI的情况下为命令行上的小型转储模仿“!analyze-v”命令。 最佳答案 对于Windows调试工具,还有cdb,控制台调试器。要调试故障转储,请使用-z""选项。要立即运行命令,请使用-c"".要将所有内容输出到文件中,您可以使用常用的DOS重定向输出>或使用.logopen打开日志文件.要在分析后退出CDB,请使用q.您想确保符号设置正确,因此请包含.symfix;.reload.我更喜欢使用.symfix在命令中而不是-y,所以
我正在尝试在没有VisualStudio的系统上调试用C#编写的应用程序。应用程序没有崩溃......但我需要确定某些变量的值,以及是否访问代码的某些部分,基于我无法在VisualStudio所在的同一位置访问的驱动程序。我在虚拟机中运行此测试环境,无法访问互联网。我一直无法安装符号文件...但到目前为止这无关紧要。我一直在使用附加到此应用程序的WinDbg对驱动程序(c/c++)进行故障排除。我希望也能够从C#向WinDbg发送调试消息。System.Diagnostics.Debug.Write("helloworld\n");没有出现...我不知道是否相关,但我在添加Debug.
在Windows调试器中,我试图打印出传递给c函数的数据。我对传递到System_Data_SQLite!sqlite3_step+0x63的数据很感兴趣。0:071>kv20Child-SPRetAddr:ArgstoChild:CallSite00000000`11b82e2800000642`ff864776:00000000`12f6f45000000000`0092dcd800000000`11b8348800000000`11b83480:ntdll!NtGetContextThread+0xa00000000`11b82e3000000000`12f6f450:00000
我正在使用.childdbg1在WinDbg中调试脚本。(脚本在无限循环中运行软件的各种测试用例。这样我就可以捕捉到罕见的崩溃。)我不需要附加到特定的子进程(出于性能原因并且因为它们是第三方的并且经常崩溃)。如果我可以通过进程名称指定它们,那将解决我的问题。如果您能提出其他可以满足我需要的调试器,我将不胜感激。注意:将调试器配置为通过GFlags附加到特定进程并不是这种特定情况下的解决方案。 最佳答案 如果你激活了.childdbg1,你可以使用sxecpr。使用-c开关,您可以执行命令。像.if(yourcondition){.d
当使用windbg调试托管进程时,如何查看Int64的值?例如,我有以下构造函数,它的第一个参数是Int64。ItemQuotequote=newItemQuote(1234567890987654L,"5mmSuperWidgets",1000,12999,true,false);我使用windbg调试器在上述构造函数中设置断点以检查其参数。反汇编结果如下。ChildSPIPCallSite0042f05c0043025aEncodingInformation.ItemQuote..ctor(Int64,System.String,Int32,Int32,Boolean,Boolea
我有一个正在运行的进程的转储文件(试图查找内存泄漏)我注意到的一件事是,当我通过!do转储更大的对象时,windbg告诉我它们是第3代GC??所有这些都是字节数组,所以当我查看转储中的所有字节数组时,我可以看到第0、1、2和3代GC。谁能解释一下这里发生了什么,因为我认为只有3代GC。>0:000>!do0x0000000011b47450Name:System.Byte[]MethodTable:000007fef7d2e798EEClass:000007fef7932670Size:131096(0x20018)bytesGCGeneration:3Array:Rank1,Numb