是否可以使用 Visual Studio 构建 WinDBG 扩展?
Posted
技术标签:
【中文标题】是否可以使用 Visual Studio 构建 WinDBG 扩展?【英文标题】:Is it possible to build WinDBG extensions using Visual Studio? 【发布时间】:2013-06-18 16:25:16 【问题描述】:要构建 WinDBG 调试器extensions,我们必须使用 WDK 附带的 Build 实用程序,还是可以使用 Visual Studio? (特别是,我会对 VS2010 SP1 感兴趣。)
根据 Debugging Tools for Windows 的文档,唯一的选择应该是 Build 实用程序:
Windows 调试 |调试器引擎和扩展 API |简介
所有调试器扩展都应该使用 构建实用程序。构建实用程序包含在 Windows 驱动程序工具包中 (WDK)。
...但也许文档没有更新?
此外,为什么 Build 实用程序是构建 WinDBG 扩展的唯一选择? 那里隐藏着什么“陷阱”?
【问题讨论】:
【参考方案1】:在 WinDBG 扩展的情况下没有什么特别的 - 只需构建一个 DLL,使用正确的函数名称和调用约定,然后就可以了。所以 Visual Studion 应该可以完美地做到这一点。
您确实需要为 DLL 生成自己的 .def 文件以导出函数。
本页介绍了如何使用 nmake
进行操作。在 VS 中应该完全可以执行相同的步骤。
http://www.codeproject.com/Articles/6522/Debug-Tutorial-Part-4-Writing-WINDBG-Extensions
【讨论】:
谢谢...所以我假设上述段落中存在“文档错误”。 也许吧。我更多地将其视为“这就是我们在 MS 中的做法,我们建议您也这样做”。虽然它使用了“应该”这个词,但我认为它实际上并没有说“你必须这样做”,它只是说“你可以这样做”。当然,“构建”的一个优点是它使用 WDK 使用的编译器版本,这(可能)也是用于该 WDK 附带的 WinDBG 的编译器,因此不会有任何次要编译器导致问题的错误问题 - 这可能就是他们建议您这样做的原因。当然,MS作者在我的想法中可能有不同的含义。以上是关于是否可以使用 Visual Studio 构建 WinDBG 扩展?的主要内容,如果未能解决你的问题,请参考以下文章
MSbuild是否要求在构建服务器上安装Visual Studio?
是否可以从 Mono 的命令行构建 MSBuild 文件(visual studio sln)?