A* a = new A(); 怎么打印a的值啊,用print a 一直显示:No symbol "a" in current context.
by ecjtubaowp - C/C++ - 2010-10-13 22:39:28 阅读(5214) 回复(4)
我在c程序的头部有两个变量 int buf[]={1,2,3}; int *b2={4,5,6}; 然后gcc -g编译,gdb运行r (gdb) p buf $1={1,2,3} (gdb) p b2 $2=(int*) 0x2 为什么gdb能打印出来静态数组? 它怎么知道这个buf有多大? $2的打印结果我能理解,$1的打印结果我就没法理解了。如果说buf是放在数据段里面的,难道说数据段里面还有地方指名所有静态数组变量的大小么? 学汇编的时候没有注意到过啊。 请大虾指点!
gdb中可以用p命令打印某变量的值, 如: int i=3; gdb> p i gdb> 3 请教: gdb中能否打印内存中某个位(或某些位)的值??? 比如想打印最低位的值或者打印第0~第3位的值???
我写的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调试一个程序 要修改一个堆栈地址里的值 比如0xbfffed3c的值修改为0 怎样实现? 还有 我有两个程序Input和Output , Output的输入用管道依赖于Input的输出 那我用gdb怎样才能调试使用管道的Output程序呢?
我使用gdb调试, 假设有一个函数: int func() { cout<<"hello"; return 1; } 运行如下的命令: (gdb)print func() 这样,只是打印出了函数的返回值, 但是函数内部的hello却没有打印出来, 请问如何能够调用一个函数,并且打印这个函数内部执行的输出语句呢? 谢谢回答!!!
直接p errno会报下面的错 Cannot access memory at address 0x8 换成 p (*__errno_location ()) 就可以了 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/44068/showart_2074772.html