GDB调试之TUI界面
02-09 阅读数 1万+
官方:http://www.deansys.com/doc/gdbDebugging/gdb_23.html TUI(TextUser Interface)为GDB调试的文本用户界面,可... 博文 来自: xu415的专栏
1. until
这个用于执行完循环。
在执行完循环体内的最后一条语句之后执行 until, 就会执行完循环体到后面的一个语句停下。
2. finish
执行完当前的函数。
3. tui
是一个命令行的界面,能同时把代码显示出来。
inf
4. 设置条件断点的方法:
4.1 break [location] if condition
-
(gdb) l
-
2 {
-
3
int i;
-
4
int k =
0;
-
5
for(i =
0; i <
10; i++)
-
6 {
-
7 k = i * i;
-
8 }
-
9
-
10
return
0;
-
11 }
-
(gdb)
break
7
if i ==
5
-
Breakpoint
4 at
0x80483ca: file testloop.c, line
7.
-
(gdb) r
-
The program being debugged has been started already.
-
Start it from the beginning? (
y
or n)
y
-
-
Starting program:
/home/charles
/code/testloop
-
-
Breakpoint
4, main () at testloop.c:
7
-
7 k = i * i;
-
(gdb) p i
-
$7 =
5
-
(gdb)
4.2 使用 condition N condition. N是一个 breakpoint number.
-
(gdb) l
-
1 int main(void)
-
2 {
-
3 int i;
-
4 int k =
0;
-
5
for(i =
0; i <
10; i++)
-
6 {
-
7 k = i * i;
-
8 }
-
9
-
10
return
0;
-
(gdb)
break
7
-
Breakpoint
1 at
0x80483ca: file testloop.
c, line
7.
-
(gdb) info breakpoints
-
Num
Type
Disp
Enb
Address
What
-
1 breakpoint keep y
0x080483ca
in main at testloop.
c:
7
-
(gdb) help condition
-
Specify breakpoint number
N to
break only
if
COND
is
true.
-
Usage
is `condition
N
COND',
where
N
is an integer and
COND
is an
-
expression to be evaluated whenever breakpoint
N
is reached.
-
(gdb) condition
1 i ==
4
-
(gdb) info breakpoints
-
Num
Type
Disp
Enb
Address
What
-
1 breakpoint keep y
0x080483ca
in main at testloop.
c:
7
-
stop only
if i ==
4
-
(gdb) r
-
Starting program: /home/charles/code/testloop
-
-
Breakpoint
1, main () at testloop.
c:
7
-
7 k = i * i;
-
(gdb) p i
-
$
1 =
4
5. 多线程下禁止线程切换:
set scheduler-locking on
恢复 nouveau驱动
05-06 阅读数 4755
之前从nouveau换到Nvidia官方驱动,现在又想换回来。步骤如下:1. 删除文件 /etc/X11/xorg.conf(最好不直接删除,备份一下):sudomv/etc/X11/xorg.con... 博文 来自: 小猪爱拱地
gdb gdbtui
08-07 阅读数 787
1.gdbtui打开tui模式gdbtuia.outgdb-tuia.out调试一个正在运行的进程gdb-ppid在linux自带的终端里是正常显示的,但是在securecrt里面,可能由于编码的问题... 博文 来自: 超哥的专栏
在gdb中显示源码(gdbtui使用方法)
11-04 阅读数 1685
原文链接:gdb调试一直是一个让人头疼的问题,我这个多年的linux用户也一直不习惯gdb,主要是因为gdb在调试的时候不能很好的展示源码。gdb里面可以用list命令显示源码,但是list显示没有代... 博文 来自: yuanhubilie的专栏
调试的时候怎么跳出循环语句
03-29
调试代码的时候,单步一句一句下来,遇到一个for语句要循环500次,总不能按500下F10吧,怎么跳到下一语句? 论坛
gdb函数相关3——退出正在调试的函数
11-28 阅读数 1626
测试代码#include&lt;stdio.h&gt;intfunc(){ inti=0; i+=2; i*=10;returni;}intmain(intargc,c... 博文 来自: CSDN_dzh的博客
gdb详解
11-04 阅读数 1万+
程序的调试过程主要有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量。本文将主要介绍linux下的强大调试工具是怎么完成这些工作的。之所以要调试程序,是因为程序的运行结果和预期结果不一致... 博文 来自: 袭人的专栏
gdb的u命令并不能退出循环,为何?
09-13
一个非常简单的main函数,里面包含一个循环,如下所示: #include int main() { for(int i=0;i<30;++i) printf("%d\n",i); 论坛
GDB调试命令详解
09-01 阅读数 2万+
详解一1.简介GDB(GNUDebugger)是GCC的调试工具。其功能强大,现描述如下:GDB主要帮忙你完成下面四个方面的功能:1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2.可让... 博文 来自: 上善若水 的专栏