题
有时我积累了大量质量断点在我的代码不同的地方不同的调试会话。如何调试器有效地知道何时停止对断点?它不可能在每一行被停止,以检查的行号和源文件名对潜在长断点列表中,可以吗?
这是在Eclipse Java调试器,但我相信这个问题适用于任何调试器。
解决方案
在很多调试器中使用的策略(我不知道Eclipse的那样)是把补丁到代码在本质上是一个子程序调用或系统调用断点点。代码跃升至具有断点信息,并执行任何印刷或接受用户的命令,并且还具有与贴片覆盖的代码,从而使代码可以被执行以使执行的原始代码匹配,而不断点
其他提示
要添加到Nadreck的很好的答案:
有更多的细节这里的文章,包括一些更奇特的东西(具体在x86的操作码;硬件断点)
调试器实现在硬件或软件断点。后者需要保存原始指令,将产生一个异常,当异常升高时,重新插入原来的指令,让用户知道断点一直打到特殊的代码。阅读血淋淋的细节我的文章软件断点。
您可以得到Eclipse调试器,以及如何的内部的全部细节写一个在下面的链接 如何写一个Eclipse调试器
不隶属于 StackOverflow