对于控制台程序而言,直接按F10(不按F5运行)就可以单步运行,当前运行行会显示为黄色(不管是一条语句,还是一个函数,都会直接执行完毕得到结果)   你可以在变量名上右击添加监视(会自动放到监视1中),也可以直接在监视1中手动输入变量名,回车之后也可以得到当前的数据   而相比之下,直接F11则更加详细(当执行到具体函数的时候也不会把一个函数看做一句话,而是跳转到函数的具体语句一行一行执行,{}也不放过,for循环本质有三句,赋值,判断,自加也不会当做一句话执行)你可以F10和F11交替使用(当…
在 USB mode 下, 先跟 NuWriter 接上, 然后用以下的设定. 按 Keil 的 debug (不是 download to flash)就可以接上了.…
在Xcode调试程序的时候,总是会出现不知道错误在什么地方的问题,很是捉急,现在又一个办法,可以具体定位到错误行的代码,试一下吧?超级好用 操作很简单: 1.在XCode界面中按cmd + 6快捷键,或者直接点击选项卡,跳到Breakpoint的tab 2.然后点击左下角的+号,增加一个Exception的断点,如下图所示. 3.接下来会出现一个“All Exception”的调试选项: 4.将鼠标放到上面,右击选择“Edit Breakpoint”,可以查看选项的具体内容如下:(不用做任何修改…
最近调试项目的时候出了一个很奇怪的问题. 项目总是去读取另外一个项目的配置文件,甚至执行的代码都是另外一个项目的. 我用vs修改代码时候,甚至修改到了其他项目的代码,生成不报错,很奇怪. 本来怀疑是vs2013出问题了,后来经过问同事,这是因为两个项目,用了相同的端口,正好我的项目是另外一个项目的分支,代码一样. 所以就会出现这种奇怪的bug. 解决方案: 只需要把两个项目的端口改成不一样的就ok了.…
各位看官们,大家好.我们在上一回中说简单地介绍了GDB.这一回中,我们介绍GDB的调试功能:单步 调试. 闲话休提,言归正转. 让我们一起talk GDB吧! 看官们,我们先说一下什么是单步调试.大家都知道.程序是依照指令.一步一步地执行,仅仅是程序执行 的非常快,所以你没有办法看到走过的每一步. 这个有点类似我们寻常走路,一步一步地向前走,在路上可 以看到很多风景,假设坐车,那么车速太快了,就会看不清楚路上的风景.单步调试就是不让程序非常快地 执行,通俗点说,说是不让程序"坐车"走,…
解决JAVA单步调试键盘输入被JDB占用的问题 问题来源: 在完成本周任务时,编写的代码中含有Scanner类,编译及运行过程均正确,但使用JDB单步调试时,运行到输入行无法在JDB内部输入变量值. 解决方案 错误原因:JDB占用了控制台,导致无法在调试窗口进行输入输出操作. 解决步骤: 1.打开两个终端,一个用来远程监听,一个用来JDB单步调试. 2.在终端1输入以下命令进行监听远程控制: java -Xdebug -Xrunjdwp:transport=dt_socket,address=8…
通常的开发场景: 代码放在virtualbox上运行,本地的IDE通过sftp实现和虚拟机的代码同步. 有 一个不能避免的问题是,当使用git时,如果装在virtualbox端,那么每次virtualbox上更新代码后,都要记得在IDE上 download一下,忘记的话就可能IDE的代码覆盖了virtualbox上的代码.尤其是当virtualbox切换分支的时候,IDE经常忘记 download代码,悲剧就发生了. 为 了避免代码覆盖的问题,我选择把git装在IDE端,这样每次更新代码或者切换…
//test.cpp #include <stdio.h> ; void print_line(char *str) { if (str != NULL) printf("%s\r\n", str); else printf("null string\r\n"); } int main (int argc, char **argv) { ; print_line("hello world!"); printf("g_var…
近期在学android NDK开发,折腾了一天,最终可以成功在ADT中设置断点单步调试本地C/C++源码了.网上关于这方面的资料太少了,并且大都不全,并且调试过程中会出现各种各样的问题,真是非常磨人.程序员就得有耐心. 把自己的调试过程记录下来.希望对须要的朋友有帮助. 在看本文之前,请先确保你已经成功编译了一个android NDKproject,而且可以在模拟器或者真机上执行.至于怎么编译NDKproject,包含配置.生成.so文件等等.可以參考我的前一篇博客:http://blog.cs…
在以mfc建立的工程中,需要建立一个链表来保存一些数据.但是在创建结构体,以及对其赋值的过程中,发现对结构体变量不能观察,添加到监视器中的变量也出现变量名不存在的错误. 首先,在文件的开始定义一个结构体 struct drop_link { int num; int x; int y; struct drop_link *next_node; }; 然后在一个按钮函数中编写以下代码: int m=9: struct drop_link drop; drop.num=1; drop.x=2; dr…