我写的Pro-C程序 调试的时候出现了问题,中间出错了 所以我想看一下sqlca.sqlcode的值 出现了如下问题: (gdb) p sqlca.sqlcode A syntax error in expression, near `.sqlcode'. 然后我又这样打印也不行 (gdb) p sqlca Attempt to use a type name as an expression :em11: :em11: :em11: 这是怎么回事?
我想将gdb打印的结构写入到文件中,如何做? 如: (gdb)p a_struct (gdb) $1 = { cmmst = {{ stat = 1, stat_old = 4294967295, fltlock = 0, rstflg = 0 '\0', port = "", dmy = 255 '' ....... 这时结果打印到了屏幕上,如何输出到文件
请高手执教
补充:
比如下面positions是一个int数组,text是一个wstring类型
(gdb) p positions
$8 = {
比如 08048074 <_start>: 8048074: ba 0e 00 00 00 mov $0xe,%edx 8048079: b9 98 90 04 08 mov $0x8049098,%ecx 804807e: bb 01 00 00 00 mov $0x1,%ebx 8048083: b8 04 00 00 00 mov $0x4,%eax 8048088: cd 80 int $0x80 804808a: bb 00 00 00 00 mov $0x0,%ebx 804808f: b8 01 00 00 00 ...
gdb中可以用p命令打印某变量的值, 如: int i=3; gdb> p i gdb> 3 请教: gdb中能否打印内存中某个位(或某些位)的值??? 比如想打印最低位的值或者打印第0~第3位的值???
(gdb) stepi
0x080483e1 21 begin =(char*) malloc(300*1024);
(gdb) p $esp
$1 = (void *) 0xbfffc6a4
(gdb) si
0x080483e6 21 begin =(char*) malloc(300*1024);
0x080483e6 行的实际指令是:
0x080483e6