断点

eclipse debug技巧

吃可爱长大的小学妹 提交于 2020-03-04 07:50:42
1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakpoint菜单项即可. 2 在debug模式下运行程序进入调试状态:通过点击工具栏上的小虫按钮或者是在项目右键点击然后选择Debug As,Android Application菜单,启动程序的调试模式. 第一次运行调试模式eclipse会弹出如下确认窗口 当程序运行到你的断点地方时就会停下,这时可以按照下面的功能键按需求进行调试: [1]快捷键(F8)直接执行程序,直到下一个断点处停止。 [2]快捷键(F5)单步执行程序,遇到方法时进入。 [3]快捷键(F6)单步执行程序,遇到方法时跳过。 [4]快捷键(F7)单步执行程序,从当前方法跳出。 查看断点时变量当前的值:右键点击对应的变量,在菜单上选择 watch 菜单项,变量的值就会出现在 expressions窗口中. 来源: https://www.cnblogs.com/tiandee/p/4424152.html

Linux的gdb调试命令(详细)

↘锁芯ラ 提交于 2020-03-04 06:23:22
转自: https://blog.csdn.net/gatieme/article/details/51671430 程序的调试过程主要有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量。 本文将主要介绍linux下的强大调试工具是怎么完成这些工作的。 之所以要调试程序,是因为程序的运行结果和预期结果不一致,或者程序出现运行时错误。 调试的基本思想是: 分析现象 -> 假设错误原因 -> 产生新的现象去验证假设 调试器(如GDB)的目的是允许你在程序运行时进入到某个程序内部去看看该程序在做什么,或者在该程序崩溃时它在做什么。 GDB主要可以做4大类事(加上一些其他的辅助工作),以帮助用户在程序运行过程中发现bug。 * 启动您的程序,并列出可能会影响它运行的一些信息 * 使您的程序在特定条件下停止下来 * 当程序停下来的时候,检查发生了什么 * 对程序做出相应的调整,这样您就能尝试纠正一个错误并继续发现其它错误 您能使用GDB调试用C、C++、Modula-2写的程序等GNU Fortran编译器准备好过后,GDB将提供对Fortran的支持 gdb参数选项详解 gcc调试相关编译选项 GDB通过在命令行方式下输入gdb来执行。启动过后,GDB会从终端读取命令,直到您输入GDB命令quit使GDB退出。您能通过GDB命 gcc -g main.c 1

条件断点、条件记录断点

痴心易碎 提交于 2020-03-03 11:46:33
一、条件断点 1.下断方式:shit+f2,即可在某条指令上设置条件断点,之后会弹出一个框,让我们设置条件 当到这条指令并且满足条件的时候,就会在此断住 2.条件语句很灵活,不只是可以设置一个条件,可以设置多个条件,比如用 ||或者&&连接 推荐写条件的时候用双等号,和C里面if似的(==) 二、条件记录断点 1.下断方式:shift+f4,可以选定一条指令,右键,条件记录断点,其实我认为,这个断点主要是为了记录一些东西而设定的,也可以选择不让程序中断,单纯的记录。一般用于API函数的记录,下断一般都在第一行下断 2.点击L面板(日志面板),可以将日志文件导出,右键–记录到文件,如果有太多没用的,可以先右键–清空一下,然后运行,如果用到了这个函数,就会有记录,也可以设置断点,如果用到了(或者用到了并且符合条件了),就会断住,并且有记录。 如下图,我在MessageBoxA函数的起始指令设置条件断点 因为我选择的是按条件记录,所以第一次调用messageboxA函数时没有记录(不满足我填入的条件),第二次满足,并且将esp的具体内容记录,返回地址、调用地址、调用函数的参数(句柄、文字内容、标题、款式等等) 条件记录断点的各项内容: “ 条件 ”一栏填写你想下段的条件,和上讲的条件断点作用相同,详情参考上讲。 “表达式”一栏写想要记录的内容,比如我这里写ESP,表示任何时候都会记录

GDB命令详解(进一步学习)

*爱你&永不变心* 提交于 2020-03-03 07:24:23
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。同时GDB也具有例如ddd这样的图形化的调试端。 一般来说,GDB主要完成下面四个方面的功能: (1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 (2)可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) (3)当程序被停住时,可以检查此时你的程序中所发生的事。 (4)动态的改变你程序的执行环境。 兴趣是最好的老师,这里先整理总结一下在调试的过程中经常遇到的问题。带着这些问题进行学习和实践可以有助于加深印象。 再往后是本人实践过程中总结的常见命令,如有什么问题或者建议,都可以联系我,谢谢! _ (1)如何打印变量的值?(print var) (2)如何打印变量的地址?(print &var) (3)如何打印地址的数据值?(print *address) (4)如何查看当前运行的文件和行?(backtrace) (5)如何查看指定文件的代码?(list file:N) (6)如何立即执行完当前的函数,但是并不是执行完整个应用程序?(finish) (7)如果程序是多文件的,怎样定位到指定文件的指定行或者函数?(list file:N) (8)如果循环次数很多,如何执行完当前的循环?

MATALB断点颜色变灰色

旧时模样 提交于 2020-03-03 07:13:23
Matlab调试时遇到断点的颜色发生变化 在操作matlab调试的时候,发现设置的断点由红色变成了灰色,如图 你会发现这种断点可以放在任何位置,而平常的红色断点只能放在有效代码那一行,不能放在注释行。这个问题就算你点了清除所有断点也还是解决不了。 主要原因是当前节A在调试的过程中,加入了注释,一加注释颜色就变了,因为加了注释以后断点的实际位置的发生了变化的,注释要占字节数的,所以断点就变成了灰色。 解决办法,保存文件,同步断点,这时候就变成红色了。 来源: CSDN 作者: 花开不败。 链接: https://blog.csdn.net/qq_39915672/article/details/104619575

Java程序员应该知道的10个调试技巧

帅比萌擦擦* 提交于 2020-03-02 22:26:33
在开始之前,推荐大家去看看Eclipse shortcuts这篇文章,它将会给你带来很多方便。在本文中使用的是Eclipse Juno版(Eclipse 4.2),在开始前给大家提3点建议! 不要使用System.out.println作为调试工具 把所有涉及到的组件日志级别激活并使用 使用日志分析器来读取日志 1.条件断点 如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建。在调试界面中,“断点”视图会把所有被创建的断点列出来。我们可以给它加一个布尔条件,也就是说,该断点会被激活并且如果布尔条件为真,就会执行该断点,否则将会跳过往下执行。 2.异常断点 在断点视图中,有一个J!标记按钮!我们可以使用该按钮来添加一个Java异常断点。例如,我们想让程序在遇到空指针异常(NullPointerException)时,仍然能继续调试,那么我们可以使用该按钮来添加一个异常断点! 3.监视点 这是一个非常好的功能,当选定的属性访问或修改程序时,程序会停止执行并允许进行调试。在Outline视图中选择一个类变量并从上下文菜单中选择切换监视点,属性监视点将会被创建,在断点(Breakpoints)视图中会把所有监视点用列表的形式显示出来。 4.评估/检查 按Ctrl+Shift+D或者Ctrl+Shift+I来显示选定变量或者表达式的值

phpstorm快捷键

烈酒焚心 提交于 2020-03-02 17:52:20
F8步过:按行代码执行,函数算一行。 F7:步入:进入函数 shift+F7:智能进入。 shift+F8:步出,从函数中退出,返回上一级下一行代码 ALT+f9:运行至光标 F9:恢复程序 ctrl+F8:切换断点 ctrl+shift+F8:查看断点·。 来源: CSDN 作者: 指极所致 链接: https://blog.csdn.net/qq_45393395/article/details/104612704

Xcode 调试技巧 --常用命令和断点

烂漫一生 提交于 2020-03-02 12:42:28
Xcode 中的调试技巧与我们的日常开发息息相关,而这些调试技巧在我们解决Bug时,常常有事半功倍的作用,经常会用到的有各种断点 和 命令。而这些调试技巧也经常会在面试中问到,所以不知道的就来看看吧。 调试命令 在上图中,右侧绿色区域就是Log 输出区,在 Log 输出区可以使用一些命令,来辅助调试。 那有哪些调试命令呢? 想要看所有的调试命令,可以在上图的右侧区域输入 help ,就会列出所有的调试命令。 本文就介绍几个使用频率比较高的,其他就查看后,自行了解吧。 1. p 命令 -- ('expression --') Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. p 命令是 print 命令的简写,使用p 命令可以查看基本数据类型的值,但是如果 使用 p 命令 查看的是对象,那么只会返回对象的指针地址。 p 命令后面除了可以接 变量、常量,还可以接 表达式。(❌但是不可以使用宏❌) 2. po 命令 po 命令可以理解为打印对象。功能与 p 命令类似,所以也是可以打印 常量、变量,打印表达式返回的对象等。(❌也不可以打印宏❌) 当然,这些打印功能,除了使用命令外,我们也可以使用左侧区域,点击变量右键—>

Xcode 调试技巧 --常用命令和断点

*爱你&永不变心* 提交于 2020-03-02 12:41:42
Xcode 中的调试技巧与我们的日常开发息息相关,而这些调试技巧在我们解决Bug时,常常有事半功倍的作用,经常会用到的有各种断点 和 命令。而这些调试技巧也经常会在面试中问到,所以不知道的就来看看吧。 调试命令 在上图中,右侧绿色区域就是Log 输出区,在 Log 输出区可以使用一些命令,来辅助调试。 那有哪些调试命令呢? 想要看所有的调试命令,可以在上图的右侧区域输入help,就会列出所有的调试命令。 本文就介绍几个使用频率比较高的,其他就查看后,自行了解吧。 1. p 命令 -- ('expression --') Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. 1 2 p 命令是 print 命令的简写,使用p 命令可以查看基本数据类型的值,但是如果 使用 p 命令 查看的是对象,那么只会返回对象的指针地址。 p 命令后面除了可以接 变量、常量,还可以接 表达式。(❌但是不可以使用宏❌) 2. po 命令 po 命令可以理解为打印对象。功能与 p 命令类似,所以也是可以打印 常量、变量,打印表达式返回的对象等。(❌也不可以打印宏❌) 当然,这些打印功能,除了使用命令外,我们也可以使用左侧区域,点击变量右键—>

Xcode 调试技巧

我怕爱的太早我们不能终老 提交于 2020-03-02 12:39:33
   【前言】:本篇为同事崔桂祥分享资料。   随着Xcode 5的发布,LLDB调试器已经取代了GDB,成为了Xcode工程中默认的调试器。它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。LLDB为Xcode提供了底层调试环境,其中包括内嵌在Xcode IDE中的位于调试区域的控制面板,在这里我们可以直接调用LLDB命令,示例如下: 1.必备篇 1.1 打印变量: print/po print :打印变量的值可以使用 print命令,该命令如果打印的是简单类型,则会列出简单类型的类型和值。如果是对象,还会打印出对象指针地址; print object :如果我们只想查看对象的值的信息,则可以使用 po (print object的缩写 )命令。 1.2 查看线程状态: thread list   在进程停止后,LLDB会选择一个当前线程和线程中当前帧(frame)。很多检测状态的命令可以用于这个线程或帧。   为了检测进程的当前状态,使用该命令,其中星号(*)表示thread #1为当前线程。 1.3 获取线程的跟踪栈: thread backtrace (简写bt)   使用命令 thread backtrace (简写bt)可以查看线程的跟踪栈,若要查看所有线程的调用栈则可以使用命令: thread backtrace all (简写bt all) 。