我想编写一个debugging/诊断工具,可以调用Windbg函数来检查转储文件,而不是写windbg扩展名。 这是可能的和任何参考?
非常感谢。
而不是WinDbg,您可以使用在dbghelp.dll中实现的调试API。 它记录在MSDN上 。 该参考文档相当干燥,但它应该让您了解API的功能。 例如, MiniDumpReadDumpStream
是检查转储文件的网关。
除了现有的答案,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接口的编程模式。
这里有一些链接使用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-基于简单的Dbgeng的用户模式调试器 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-coreel-Debugger http://www.woodmann .COM /论坛/ entry.php?251-Dbgeng为主,手柄
你可以使用PowerShell命令或命令行版本的WinDbg这是CDB,然后解析输出从CDB你解释。
这与将输出从cdb输出到您的应用程序的方法类似。
有关于以这种方式使用PowerShell的帖子: http : //rkeithhill.wordpress.com/2006/08/14/minidump-crash-analysis-with-powershell/
应该直接将命令泵到cdb并解释特定命令的输出。
Python与dbgeng: pykd.codeplex.com集成
这个项目可能被用作这种集成的演示