-
-
[求助]Visual Studio调试的问题
-
发表于:
2010-10-20 15:48
4670
-
单击某个按钮后触发的事件为:
void MyButton_Click(object sender,EventArgs e)
{
MessageBox.Show("OK");
}
现在假设我没有该程序的源代码,也不想使用Reflector等反编译器,我所知道的仅仅是单击按钮后调出MessageBox。
我想在单击的处理函数处下断点(注意:我并不知道MyButton_Click这个函数名)
调试时(首先要关闭“仅我的代码”)
我在OnClick函数处下断,然后用“跳出”(Shift+F11),本来经过几个OnClick之后(因为有派生的关系,所以多个类里都有OnClick函数),就会执行到MyButton_Click函数了,但是我这样却不能断在该函数(准确的说是随机的,有时候能断下,有时候不能断下。即时在MessageBox调出之后,也不能断在MyButton_Click函数里(也是随机的)。
如果要测试MesssageBox调出之后能不能断在MyButton_Click函数了,还有一种方法,不用设置任何断点,当MessageBox调出后,先不要关闭MessageBox,直接中断(Ctrl+Alt+Break),但我这里还是随机中断
如果有源代码,我这里一般是OnClick断下后,MessageBox出来前,MyButton_Click不能断下,MessageBox出来后,MyButton_Click能断下
(当然,也可以用逐过程或逐语句代码跳出,但是太慢了)
我以前的话,没有源代码,至少可以用MessageBox出来后直接中断,然后跳出,直接就断在MyButton_Click了
可惜Visual Studio里没有OllyDbg那样直接运行到用户领空的功能
但是你能就能,不能就不能,别给我玩随机啊?难道是设置的问题?我测试了工具-选项中关于调试和IntelliTrace的最有设置,还是无法解决(我VS2008/VS2010都试了,还是不行)
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)