关于.call命令的使用

WinDbg

关于.call命令的使用


guozf 2009-03-27, 17:17 下午

使用.call命令可以用当前的线程的栈空间来执行被调试的程序中的函数。这个命令对于程序的调试非常有用,特别是对于crash以后的分析或者breakpoint hit的时刻的分析。

问题在于: .call这个命令的执行需要两次回车确认之后才可以执行。

请问Raymond,如何让一个breakpoint trigger以后自动地去执行一次.call命令,而不需要多打两次回车啊?

背景:我已经使用extension的一些功能来让断点hit之后自动地执行一些命令或者察看一些变量,之后自动的resume程序的运行,这样就可以让程序不停止下来而动态的log一些程序运行的情况。现在如果希望在断点(BP)tigger以后自动地去执行一个.call命令,由于这个命令的特殊性,需要两次回车,所以就不能自动化的让程序恢复运行了。

不知道有没有描述清除问题,请问Raymond有什么高招可以指点一二。

Thanks in advance.

Re: 关于.call命令的使用


格蠹老雷 2009-03-29, 23:20 下午
WinDBG的一个命令行可以包含多条命令,使用分号分开即可。所以你可以类似这样提交命令:
.call xxxx ; g; g;
这样就可以让WinDBG执行好一个命令后自动执行下一个。

Powered by Community Server Powered by CnForums.Net