编写调试器

时间:2012-11-06 15:27:50

标签: c++ windows debugging

我对编写Windows调试程序的信息很少感到非常不满。

我所拥有的大部分代码都是经过长时间的反复试验,文档显然“认为”大部分主题都过于微不足道,同时详细解释了明显无用的事情。

我发现了两篇左右的文章,但没有多少东西我还不知道。

是否有任何文档,我的意思是完整的文档,或者一些好的文章(不是如何在vb.NET中将字节更改为0xCC而是现实世界的东西)关于调试器?带内存断点的高级调试器。

目前我没有找到一种方法,例如如何找出在GUARD_PAGE_VIOLATION中写入的字节数。我只是在代码执行和比较之前和之后创建一个缓冲区。

在哪里可以找到debug_event.u.Exception.ExceptionRecord.ExceptionInformation中的信息? (以及debug_event中的其他内容)

我真的必须自己扭转逆转环境吗?

2 个答案:

答案 0 :(得分:8)

这确实是一些可用的信息。

DEBUG_EVENT(以及Debug API的其余部分)在MSDN中正式描述:http://msdn.microsoft.com/en-us/library/windows/desktop/ms679308(v=vs.85).aspx

有一篇很好的CodeProject文章:Writing a basic Windows debugger及其续集:Writing Windows Debugger - Part 2

最后,来自Devon Strawn的完整参考文献列表:How to write a (Windows) debugger - References

答案 1 :(得分:2)

您可以在Windows SDK中找到“旧”但很好的示例: 请看:。\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Samples \ winbase \ debug \

debbughandler展示了如何处理异常。

相关问题