问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在vs2008中进行断点调试

发布网友 发布时间:2022-04-12 17:43

我来回答

2个回答

懂视网 时间:2022-04-12 22:05

关于Bug调试的技巧,现将罗列如下,以后还会继续补充: 1,跳到当前光标处(CtrlF10) 先将光标定位到要测的代码上,同时按下CtrlF10,程序将会直接跳到该行代码处停下。 2, 条件中断 当程序满足开发人员设定的条件后,条件断点才会被触发,调试器中断。 首


关于Bug调试的技巧,现将罗列如下,以后还会继续补充:

1,跳到当前光标处(Ctrl+F10)

先将光标定位到要测的代码上,同时按下Ctrl+F10,程序将会直接跳到该行代码处停下。

2,条件中断

当程序满足开发人员设定的条件后,条件断点才会被触发,调试器中断。

首先在特定代码行上,设定断点,在断点处右键,在弹出的快捷菜单上选择“Condition…”,弹出BreakPoint Condition对话框,

在编辑框中输入条件,当条件为真时,条件断点才会被触发,调试器中断;否则,该断点将被跳过。

3,记录到达断点次数

只有当第n次满足条件,运行到断点时,才中断程序运行,

首先在特定代码行上,设定断点,在断点处右键,在弹出的快捷菜单上选择“Hit Count...”,弹出BreakPoint Hit Count对话框,

1)break when the hit count is equal to

当满足条件,并且第5次进入断点时,断点命中一次。

2)break when the hit count is a multiple of

当满足条件,并且进入断点的次数是5的倍数时,断点被命中。

3)break when the hit count is greater than or equal to

当满足条件,并且进入断点的次数大于5时,断点被命中。

4,机器/线程/进程过滤

首先在特定代码行上,设定断点,在断点处右键,在弹出的快捷菜单上选择“Filter...”,弹出BreakPoint Filter对话框,

5,跟踪点—进入断点时的自定义操作

跟踪点是种特殊的断点,当命中跟踪点时,会触发一系列自定义操作。如果你想观察程序的行为,又不想中断调试的时候,这个功能尤其有用。

首先在特定代码行上,设定断点,在断点处右键,在弹出的快捷菜单上选择“When Hit...”,弹出When BreakPoint Is Hit对话框,

一旦命中断点就打印跟踪信息,我们已经把局部变量x的值作为跟踪信息的一部分进行输出。局部变量可以通过{变量名}语法进行输出。

还可以利用系统内置的命令($CALLER, $CALLSTACK, $FUNCTION等等),在跟踪信息中输出常用的值。

在上面的例子中,同时选中了Continue execution选项,因为我们不想中断调试,而是想程序继续运行。每次断点满足条件时,我们自定义的信息都会被输出。

跟踪信息显示在VS2008的“输出”窗口中。

6,跟踪点—运行自定义的宏

上面的跟踪点调试,只是输出了某个局部变量的信息,当命中跟踪点时,如果我们想输出所有局部变量的信息。可以这样做:

VS没有这样的内置功能,需要我们通过自定义宏来实现,然后在命中跟踪点时,调用该宏。

首先打开VS的宏编辑器,工具-宏-宏IDE,然后在项目资源管理器MyMacros节点下,New一个Module,随便命名(例如“UsefulThings”),

再把下面的VB宏代码贴到模块中进行保存。

[vb] view plaincopyprint?

  1. Public Module UsefulThings
  2. Sub DumpLocals()
  3. Dim outputWindow As EnvDTE.OutputWindow
  4. outputWindow = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput).Object
  5. Dim currentStackFrame As EnvDTE.StackFrame
  6. currentStackFrame = DTE.Debugger.CurrentStackFrame
  7. outputWindow.ActivePane.OutputString("*Dumping Local Variables*" + vbCrLf)
  8. For Each exp As EnvDTE.Expression In currentStackFrame.Locals
  9. outputWindow.ActivePane.OutputString(exp.Name + " = " + exp.Value.ToString() + vbCrLf)
  10. Next
  11. End Sub
  12. End Module

上述宏代码将循环当前的堆栈,把所有的局部变量输出到“输出”窗口。

下面使用上面自定义的宏:

首先在特定代码行上,设定断点,在断点处右键,在弹出的快捷菜单上选择“When Hit...”,弹出When BreakPoint Is Hit对话框,

调试运行程序,当命中跟踪点时,宏会自动列出每个局部变量的名称和值,并在VS的“输出”窗口中显示。

热心网友 时间:2022-04-12 19:13

在代码左边的5毫米宽的竖条那里点左键就能加入断点。再点一下可以消去断点。
运行到哪里程序就会停下来。
F5是执行到下一个断点,
F10
是执行一行语句,
F11
也是执行一行但是是递归调试所调用的函数。
watch窗口可以看变量。
Break窗口可以设置、删除断点。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? ps里两个图形相交的部分怎么选中,又怎么改颜色? 怎样能联系到阿里巴巴蔡崇信?有重谢 请教群内高手:PS中假如有两个图层(两张图片)我想把这两个图层相交的部不要(删除)怎么搞?急求!谢谢 正常情况下一支唇膏能用多久? 如何用photoshop提取两张图的相交部分 PS两个图层如何取得两个图层选区的 交集 如何用photoshop提取相交部分 唇膏的寿命是多久? 为什么家里都那么脏了还没有老鼠??? 有什么办法能让家里没老鼠 如何让家里没有老鼠 漕河最美证件照、婚纱照、婚礼跟拍、婚礼摄像、抖音短视频、企业宣传片哪家拍得好? 你前任结婚了,你愿意参加她婚礼吗? 2年前,为一场婚礼被全国人记住的“黑婚纱女孩”,现在过得怎样? 正方丝巾怎样扎好看? 我现在就是短头发,头发干枯毛燥无光泽怎么办,有什么好的办法解决! 头发干枯易脆,看起来没光泽,怎么办? 在vs2008中如何进入调试状态 关于如何操作 电脑开机出现问题 蓝屏代码0x000000a5 读《幼儿教师如何做研究》感悟 除了马云,阿里巴巴内部有哪些人才? 用完一支唇膏一般需要多久? 如何看待网友在马云微博下面「逼捐」的行为? 摩托车化油器坏了怎么办? 唇膏开了可以用多久 自己如何修理踏板摩托车的化油器和油路 踏板摩托车化油器和拉线不配套,带人就灭火该怎么修? 东毅TE125T-12C摩托车化油器坏了怎么去配? 洛阳交通运输集团有限公司宜阳分公司怎么样? 洛阳交通运输集团有限公司二十一分公司怎么样? 洛阳交通运输集团有限公司客运四分公司怎么样? 洛阳交通运输集团有限公司客运一分公司怎么样? 洛阳交通运输集团有限公司客运七分公司怎么样? 洛阳交通运输集团有限公司嵩县分公司怎么样? 洛阳交通运输集团有限公司中原快运分公司怎么样? 洛阳交通运输集团有限公司四通货运分公司怎么样? 洛阳交通运输集团有限公司客运八分公司怎么样? 洛阳交通运输集团有限公司金谷商贸分公司怎么样? 洛阳弘兆运输有限公司怎么样? 洛阳宁安化学危险品货物运输有限公司怎么样?