我想编写一个调试/诊断工具,它可以调用Windbg函数来检查转储文件,而不是编写windbg扩展。这可能和任何参考?
非常感谢。
答案 0 :(得分:5)
您可以使用dbghelp.dll中实现的调试API,而不是WinDbg。它记录在MSDN上。该参考文档相当干燥,但它应该让您了解API的功能。例如,MiniDumpReadDumpStream
是检查转储文件的网关。
答案 1 :(得分:3)
除现有答案外,WinDBG还是DbgEng API的GUI前端。您可以使用此API编写WinDBG扩展或其他独立应用程序。 WinDBG SDK随附两个示例,可以在WinDBG安装的\ sdk \ samples \ dumpstk子目录中找到示例独立应用程序。
有关更多信息,我写了一篇关于DbgEng的文章来编写扩展:
http://www.osronline.com/custom.cfm?name=articlePrint.cfm&id=559
其中大部分也适用于编写独立应用程序的方式,因为它主要关注DbgEng接口的编程模式。
答案 2 :(得分:3)
这里有一些使用dbgeng接口制作独立可执行文件的链接。
该过程的简短摘要是为了 调用DebugCreate()来创建一个客户端 调用QueryInterFace() 并调用其中一个方法
http://www.woodmann.com/forum/entry.php?252-Dbgeng-based-handles-(PART-2-) http://www.woodmann.com/forum/entry.php?246-A-Simple-Dbgeng-Based-User-Mode-Debugger http://www.woodmann.com/forum/entry.php?248-DbgEng-Based-Debugger-(PART2) http://www.woodmann.com/forum/entry.php?249-DbgEng-Based-Debugger-(PART2-Contd-) http://www.woodmann.com/forum/entry.php?250-DbgEng-based-Kernel-Debugger http://www.woodmann.com/forum/entry.php?251-Dbgeng-based-Handles
答案 3 :(得分:1)
您可以使用powershell或命令行版本的WinDbg(即cdb)创建命令,然后解析您解释的cdb的输出。
这类似于将cdb的输出传递给你的应用程序的概念。
有关于以这种方式使用powershell的帖子:http://rkeithhill.wordpress.com/2006/08/14/minidump-crash-analysis-with-powershell/
将命令泵送到cdb并解释输出以获取特定命令应该是直截了当的。
答案 4 :(得分:1)
与dbgeng集成的Python: pykd.codeplex.com
此项目可用作此类整合的演示