codeblock时调试怎样vs调试查看数组组的值

弱弱的问一下,dev c++调试时怎么查看数组?【noip吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:19,542贴子:
弱弱的问一下,dev c++调试时怎么查看数组?收藏
怎么每次都显示0*22ff10之类的啊
让爱伴随成长
不会吧,这么多神犇居然没人知道
然后输a看一味数组a…
0. 神牛们不总在线 而且这类比较基础的问题不应当去找他们..1. Dev的调试功能不要指望..2. 这分明就是看到了内存地址吧..这是几维数组啊..3. 我这边的Dev是4.9.9.2 看数组很正常
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或gdb调试时显示数组 - 天地玄黄 - 博客园
posts - 128, comments - 25, trackbacks - 0, articles - 1
可以用下面的方法来显示数组 p *array@len
其中p相当于print,array就是数组首地址,也可以是数组名,len是想要显示的数组的长度。
比如我有一个数组的定义
int a[] = {1, 2, 3, 4, 5};
那么想要显示的时候就可以写:
这样就会显示数组a中的所有元素。
也可以使用display在一部调试的时候都显示:
display *a@5
取消显示就用undisplay,不过这时候要写显示的号码。codeblocks基本调试方法 - 推酷
codeblocks基本调试方法
以一个简单的输出程序为例:
#include&iostream&
#include&cstring&
#include&cstdio&
class point
int a,b,c;
void fuc()
for(int i=1;i&=10;++i)
cout&&p.a&&' '&&p.b&&' '&&p.c&&
int main()
p.a=p.b=p.c=0;
cout&&&end.&&&
运行结果如图:
调试的时候,可以直接在行号后用鼠标点一下来添加断点(如图:
之后“菜单-Debug-Start/Continue”(或直接快捷键F8)即可运行到断点处,单步是F7
以上操作跟VC差不多,接下来是用gdb命令的方法:
启动调试之后,可以在Debugger选项卡的Command框里输命令(如图:
一般调试时最常用的是设置断点,查看变量的值,首先
break funtion
break line-number
这两个命令分别是在指定的函数,或者行号处设置断点,例如,对于样例程序:
break fuc & //在fuc函数处添加断点
break 20 & &//在第20行添加断点
在fuc函数处添加断点
在第20行添加断点
添加断点之后,可以用命令‘c’来运行到断点处(作用于F8类似),或是用命令‘n’来单步走(类似F7)
在Command中输入‘c’回车,‘c’回车,来到第20行的断点处
此时若想要查看变量的值,可以用命令‘p’(printf的简写),例如想查看类p,则用命令‘p p’。如图:
(输入‘p p’回车
(即可查看p此时的情况
如果想去除某个断点的话,可以使用‘clear’命令
clear func & &//清除函数func处的断点
clear nth & & //清除第nth行处的断点
或是直接‘delete’清除所有断点。
最后想终止调试的话,直接‘q’回车就可以了。
附一个搜到的比较全的命令表,来自
命令行参数
gdb executable
gdb -e executable -c core-file
gdb executable -pid process-id
(使用命令&'ps-auxw'&
可以查看进程的&pid)
列出命令行参数。
指定可执行文件。
指明&core&文件。
–command=
从指定文件中读取&gdb&命令。
–directory=
把指定目录加入到源文件搜索路径中。
以指定目录作为当前路径来运行&gdb&。
不要执行&.gdbinit&文件中的命令。默认情况下,这个文件中的命令会在所有命令行参数处理完后被执行。
在非交互模式下运行&gdb&。从文件中读取命令,所以需要&-x&选项。
–symbols=
从指定文件中读取符号表。
允许对可执行文件和&core&文件进行写操作。
不要打印介绍和版权信息。
&为运行程序的标准输入输出。
process-id
process-id
指定要附属的进程&ID&。
中使用的命令:
列出&gdb&帮助信息。
列出相关话题中的&gdb&命令。
列出命令描述信息。
search-word
搜索相关的话题。
列出运行程序的命令行参数。
info breakpoints
列出断点。
info break
列出断点号。
info break&
breakpoint-number
列出指定断点的信息。
info watchpoints
列出观察点。
info registers
列出使用的寄存器。
info threads
列出当前的线程。
列出可以设置的选项。
Break and Watch
line-number
在指定的函数,或者行号处设置断点。
在当前停留的地方前面或后面的几行处设置断点。
处设置断点。
文件中的第
行设置断点。
在指定的地址处设置断点。一般在没有源代码时使用。
line-number
如果条件满足,在指定位置设置断点。
thread-number
在指定的线程中中断。使用info threads可以显示线程号。
设置临时的断点。中断一次后断点会被删除。
当条件满足时设置观察点。
处的断点。
行处的断点。
删除所有的断点或观察点。
breakpoint-number
删除指定的断点,观察点。
breakpoint-number-or-range
breakpoint-number-or-range
不删除断点,仅仅把它设置为无效,或有效。
显示断点:&info break
设置无效:&disable 2-9
enable once
breakpoint-number
设置指定断点有效,当到达断点时置为无效。
enable del&
breakpoint-number
设置指定断点有效,当到达断点时删除它。
继续执行到函数结束。
Line Execution
number-of-steps-to-perform
进入下一行代码的执行,会进入函数内部。
执行下一行代码。但不会进入函数内部。
line-number
line-number
继续运行直到到达指定行号,或者函数,地址等。
expression
弹出选中的栈帧(stack frame)。如果后面指定参数,则返回表达式的值。
执行下一条汇编/CPU指令。
info signals
info handle
SIGNAL-NAMEoption
当收到信号时执行下列动作:nostop(不要停止程序),stop(停止程序执行),print(显示信号),noprint(不显示),pass/noignore(允许程序处理信号),nopass/ignore(不让程序接受信号)
显示当前的行号和所处的函数。
Program Stack
inner-function-nesting-depth
outer-function-nesting-depth
显示当前堆栈的追踪,当前所在的函数。
backtrace full
打印所有局部变量的值。
选择指定的栈帧。
向上或向下移动指定个数的栈帧。
info frame&
描述选中的栈帧。
info all-reg
info locals
info catch
显示选中栈帧的参数,局部变量,异常处理函数。
也会列出浮点寄存器。
Source Code
line-number
start#,end#
filename:function
列出相应的源代码。
set listsize&
show listsize
命令打印源代码时的行数。
directory&
directory-name
directory-name
show directories
在源代码路径前添加指定的目录。
当后面没有参数时,清除源代码目录。
Examine Variables
file::variable
打印指定变量的值。
arrary-var
以十六进制打印整数变量
当作有符号整数打印。
作为无符号整数打印。
作为八进制数打印。
以整数二进制的形式打印
变量的值。
当字符打印。
以浮点数格式打印变量
打印十六进制形式的地址。
打印指定的地址,以四字节一组的方式。
expression
,但不打印&void&。
对指定地址中的指令进行反汇编。
Controlling GDB
gdb-option&value
设置&GDB&的选项。
set print array on
set print array off
show print array
以可读形式打印数组。默认是&off&。
set print array-indexes on
set print array-indexes off
show print array-indexes
打印数组元素的下标。默认是&off&。
set print pretty on
set print pretty off
show print pretty
格式化打印&C&结构体的输出。
set print union on
set print union off
show print union
打印&C&中的联合体。默认是&on&。
set print demangle on
set print demangle off
show print demangle
控制&C++&中名字的打印。默认是&on&。
Working Files
列出当前的文件,共享库。
当作调试的程序。如果没指定参数,丢弃。
当作&core&文件。如果没指定参数,则丢弃。
当作执行程序。如果没指定参数,则丢弃。
中读取符号表。如果没指定参数,则丢弃。
文件,并读取它的符号表。
加入到搜索可执行文件和符号文件的路径中。
Start and Stop
command-line-arguments
从头开始执行程序,也允许进行重定向。
继续执行直到下一个断点或观察点。
继续执行,但会忽略当前的断点
次。当断点在循环中时非常有用。
停止程序执行。
退出&GDB&调试器。
在编译可执行文件时需要给&gcc&
加上&&-g&&选项,这样它才会为生成的可执行文件加入额外的调试信息。
不要使用编译器的优化选项,比如:&&-O&
,&-O2&。因为编译器会为了优化而改变程序流程,那样不利于调试。
中执行&shell&命令可以使用:shell command
命令可以使用&TAB&
键来补全。按两次&TAB&键可以看到所有可能的匹配。
命令缩写:例如&info bre&
中的&bre&相当于&breakpoints。
中的操作:
emacs&按键
切换到&gdb&模式。
显示&gdb&模式介绍信息。
等同于gdb&中的&step&命令。
等同于gdb&中的&next&命令。
等同于gdb&中的&stepi&命令。
等同于gdb&中的&finish&命令。
等同于gdb&中的&continue&命令。
等同于gdb&中的&up&命令。
等同于gdb&中的&down&命令。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 vscode nodejs 调试 的文章

 

随机推荐