本文就是要和大家分享如何分析Visual Studio中调试断点的设置。边肖觉得挺实用的,分享给你学习。希望你看完这篇文章能有所收获。让我们和边肖一起看看。
我曾经问过很多人,你一般是怎么调试你的程序的?
F9,F5,F11,F……
有很多关于如何使用Visual Studio编写WinForm、ASP.NET等程序的书籍和文章。知道怎么写很重要,但是我觉得程序员可能只花30%的时间写代码,剩下的大部分时间都在调试程序。在网上看到很多人介绍Windbg的用法,但是没有看到几篇用Visual Studio调试的文章。Windbg功能强大,但问题是它的学习曲线太陡,很多调试都不需要用Windbg调试(当然,这并不意味着我不能用Windbg调试——这将在以后的一系列调试文章中讨论)。为什么不用我们最熟悉的Visual Studio来调试呢?
嗯,调试无非就是看程序运行时的内部状态,比如说一些变量的值是多少,看程序调用的路径等等。当然,最直接的方式是直接中断程序的执行,并使用调试器检查程序。所以F9,F5,F10,F11…….
那么我们就来说说什么是断点,断点是什么?
不是F9,也不是小红球。在英特尔系列的CPU(包括AMD生产的CPU)中,其实是一个特殊的指令——int 3。当CPU执行程序的指令集时,只要遇到这个指令,就会中断程序的执行(当然,CPU会通知操作系统,然后………………………………………………………………………………………………………………….
当然,我们需要事实来证明我上面所说的,所以编译并执行下面的程序。单击“是”和“中断”。是的,是的,是的,程序被中断了。我相信你能看出来:
# includevoidmain(){ printf(' before breakpoint ' n ');_ _ ASM { int 3 } printf(' Before断点' n ');}编译方法:
1.在“开始”菜单中打开visual studio 2008 [2005]命令提示符(visual studio 2008 [2005]命令行)。
2.输入存储上述C源代码(int3.c)的文件夹的路径。
3.执行编译命令(因为我的机器是Windows 7 RC Visual Studio 2008 x64 CPU,直接编译有问题。如果你的机器没有配置在我上面,你可以尝试执行cl /Zi int3.c)
Cl/zi/cint3.c4 .执行链接命令(如果直接执行命令cl/Zi/cint3.c4,可以跳过此步骤)。
运行输出的链接/libpath:' C: '程序文件' Microsoft SDKS ' Windows ' v 6.0a ' lib ' int 3 . obj 5 . int3.exe。
这时应该会看到Visual Studio弹出,然后在源代码行的int 3上中断,这说明我们已经成功让CPU中断了int3.exe程序的执行。
提示:如果您在执行int3.exe时没有发现Visual Studio窗口弹出,请单击Visual Studio菜单项中的工具-选项,然后在选项窗口中选择调试-实时,然后选中该框。如下图所示:
“综上所述,断点是
Int 3就是这个命令触发的!(小时候的数学证明题)”。
指令int 3(当然是在英特尔系列的中央处理器上)有哪些功能:
语言/工具
名字
形容
C
去毛刺
在C代码中硬编码一个断点。
C#
调试器。破裂
在中硬编码断点。NET代码
可视化工作室
断点
设置断点
以上就是如何分析Visual Studio中调试断点的设置。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业信息渠道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/152038.html