VS2010开发的程序 为啥不能调试了?打上断点后直接进入汇编中去了 - VC/MFC当前位置:& &&&VS2010开发的程序 为啥不能调试了?打上断点后直接VS2010开发的程序 为啥不能调试了?打上断点后直接进入汇编中去了&&网友分享于:&&浏览:0次VS2010开发的程序 为什么不能调试了?打上断点后直接进入汇编中去了?如上,程序之前调试一直是正常,但是增加修改了一些代码,
再增加断电的时候,无论在哪里设置断电,按F5执行,在设置断电的是偶,就会直接就跳入&反汇编中,
而不是源代码&如何解决???------解决思路----------------------clean一下,再把debug目录下的文件和user,ncb等工程属性文件删掉,重新编译一下看看,------解决思路----------------------可能是增加的代码里面有隐含了不同编码的空格等字符等&&------解决思路----------------------Rebuild&All一下再试试看~------解决思路----------------------重建所有
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有VS2010 断点调试,如何在调试的时候,停止断点调试 继续程序._百度知道VS2010调试不进断点
[问题点数:40分,结帖人TeachSelf]
VS2010调试不进断点
[问题点数:40分,结帖人TeachSelf]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2012年9月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2012年8月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2012年7月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2012年5月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2012年3月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2012年1月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2011年11月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2011年8月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2011年4月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2011年3月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2010年9月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2010年8月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2010年7月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2010年6月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2010年5月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2010年3月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2010年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2009年12月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2009年11月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2009年10月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2009年6月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一
2012年6月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2012年4月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2011年12月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2011年9月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2011年7月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2011年6月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2011年5月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2010年11月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2010年10月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2010年4月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2010年1月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2009年9月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2009年8月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二2009年7月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。opencv学习(26)
一个好的调试器,能够帮助程序员处理很多自动化的工作。试想下列的情形:
1.&&&&&&&&&错误是发生在一个循环当中,只在循环遍历了若干次以后,才会出现。
2.&&&&&&&&&错误只在程序中某个变量为一个特定的值,才会出现,而这个变量的值是在程序运行的过程中随机设置的。
3.&&&&&&&&&多个线程都要调用同一个函数,而你只想在某几个线程执行这个函数的时候,中断程序的执行。
在上面列出来几种情况当中,如果调试器不能提供一个有效的方法帮助我们设置断点的话,调试这种程序将会是很痛苦的一件事。在第一种情况当中,用户不得不在循环中设置断点,并且要记住自己按下F5的次数,1,2,3…,499,300,301…。第二种情况下,用户还得靠一些运气成分才能发现错误原因。
CLR Debugger的开发人员正是考虑到以上情形,给CLR Debugger添加了这些功能,条件断点(Conditional Breakpoint)和断点过滤器(Breakpoint Filters)。
设置条件断点非常容易。在特定的行上,按F9设置断点。
然后右击断点-编辑窗口左侧的红点,在上下文菜单上选择“Condition…”。
这时弹出一个对话框供你设置激活该断点所需的条件。比如:我们希望只有当局部变量paginatedDinners的尺寸小于10时,调试才中断。我们可以写出如下的表达式:
现在我再运行这个程序,实现搜索,只有返回值小于10时,程序运行才会被中断。对于大于10的值,该断点将被跳过。
记录到达断点次数
有时你希望,只有当第N次满足条件的运行到达断点时,才中断程序运行。例如:当第五次返回少于10份晚餐的查询结果时,中断程序运行。
可以通过右击断点,然后在弹出菜单上选择“Hit count…”菜单命令实现。
这时系统弹出一个对话框,它允许你指定:(1)当满足条件,而且进入断点的累计次数等于N时,断点命中一次。(2)当满足条件,而且进入断点的累计次数是N的倍数时,断点命中一次。(3)当满足条件,而且进入断点的累计次数大于N时,每次命中断点。
机器/线程/进程过滤
设置如下:右击断点;在弹出菜单上选择“Filter…”菜单命令;然后指定命中断点的特定条件:在指定的机器上、或指定的进程中、或指定的线程中。
跟踪点--进入断点时的自定义操作
许多人不知道“跟踪点(TrackPoints)”这个调试功能。“跟踪点“是种特殊的断点,当它被命中时,它会触发一系列自定义操作。如果你想观察程序的行为,而又不想中断调试的时候,这个功能尤其有用。
我将用一个简单的控制台程序来演示如何使用“跟踪点”。如下是斐波那契数列的一个递归实现:
以上程序中,我们使用Console.WriteLine() 输出针对特定输入值生成的最终斐波那契数列。如果希望在调试器里观察操作中每一次递归运算后的数列而又不实际中断程序运行,该怎么办呢?“跟踪点”可以轻松实现。
设置跟踪点
你可以在特定的行上,按F9加跟踪点。然后
右击断点,在上下文菜单中选择“When Hit…”:
在弹出对话框上,你可以设置命中该断点时,所触发的事件。
在上面例子中,我们设定一旦命中断点时就打印追踪信息。注意,我们已经把局部变量“x”的值,作为追踪信息的一部分输出。局部变量可以通过{变 量名}语法输出。你还可以利用系统内置的命令($CALLER, $CALLSTACK, $FUNCTION等等),在追踪信息中输出常用的调试值。
在上例中,我们同时选中了底端的“continue execution“选项,这说明我们不希望程序中断调试状态,而是继续运行。唯一的不同是:每次断点条件满足时,我们的自定义追踪信息都将被输出。
现在当我们运行程序时,会发现自定义追踪信息自动显示在Visual Studio的“输出“窗口里。这让我们很容易看到程序的递归调用过程:
你也可以选择往应用程序中添加一个自定义追踪信息的***器。这时追踪点的输出信息将通过它输出,而不是Visual Studio的“输出“窗口。
五、跟踪点--运行自定义的宏
当命中跟踪点时,能否自动输出所有的局部变量?
Visual Studio中并没有这样的内置功能,但我们可以写一个自定义宏来实现,然后在命中跟踪点时调用该宏。这个的实现需要先打开Visual Studio的宏编辑器(工具-&宏-&宏IDE菜单命令),然后在项目资源管理器的MyMacros节点下选择一个模块或创建新模块(如:加个名为“UsefulThings”的模块),再把下面的VB宏代码贴到模块中并保存。
Sub DumpLocals()
Dim outputWindow As EnvDTE.OutputWindow
outputWindow = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput).Object
Dim currentStackFrame As EnvDTE.StackFrame
currentStackFrame = DTE.Debugger.CurrentStackFrame
outputWindow.ActivePane.OutputString(“*Dumping Local Variables*” + vbCrLf)
For Each exp As EnvDTE.Expression In currentStackFrame.Locals
outputWindow.ActivePane.OutputString(exp.Name + ” = ” + exp.Value.ToString() + vbCrLf)
上述宏代码将循环当前的堆栈,把所有的局部变量输出到“输出”窗口。
使用自定义的“DumpLocals”宏
然后,我们可以在如下的一个简单程序中使用刚定制的“DumpLocals”宏了:
上述代码中,我们用F9在“Add”方法的返回值处加了个断点,然后右击断点,在弹出菜单上选择“When hit”。
将显示如下对话框。和之前不一样, 我们不选“Print a message”选项,也不手工设定需要输出的变量;而是选择“Run a marco”复选框,并指定到我们上面创建的UsefulThings.DumpLocals宏上:
为了使程序能在命中跟踪点后仍继续运行,我们将继续选中“continue execution”复选框。
现在按F5运行程序,当“Add”方法被调用时,我们会在Visual Studio的“输出”窗口中看到如下结果。注意命中跟踪点时,宏会自动列出每个局部变量的名称和值:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:12360次
排名:千里之外
原创:30篇
转载:30篇
(1)(3)(1)(3)(4)(2)(2)(3)(17)(2)(1)(17)(4)