陷阱标志,调试器和misc

时间:2015-08-04 08:31:07

标签: windows debugging

这是Stack Overflow中的第一个问题,因为到目前为止,我总能找到答案。

所以..我正在编写一个debbuger(用于Windows,在python中,使用WinAppDbg库),它应该跟踪程序的执行,并遇到一些问题。

我设置了陷阱标志,所以我可以停止每一步。 第一个问题 - 有时执行流程通过Windows api进入内核。当它返回时,显然陷阱标志是关闭的,并且线程的执行可能会继续数百万条指令,而我的debbuger不会跟踪它的每一步。

解决方案的机会 - 在调用Windows api之前,我将下一个地址权限设置为保护页面,因此当调用返回时,我得到一个保护页面异常,再次设置陷阱标志,并继续跟踪。但这导致了一个不同的问题(我称之为"第二个问题")

第二个问题 - 因为我设置了主线程的陷阱标志,所以我看到的是该线程的循环(我猜它是Windows gui循环),并且程序执行不是&# 39; t advance(例如,应该创建新的线程,但我不会看到它们)。

那么我在寻找什么? 调试器的源代码,可以处理我所描述的问题。 或者更好的是,解决我的问题。我做错了什么?

谢谢大家!

0 个答案:

没有答案