比方说我用单步step命令进入了一个函数func1 然后想直接跳出这个函数,继续调试主程序,应该怎样做? 目前是重复next命令直到这个函数结束 可是有些函数比较长,就比较麻烦了
本帖最后由 hongyunqi 于 2010-07-24 10:23 编辑 工作中遇到的问题,希望有人能帮忙解答 三个类的定义抽象出来是这样的[code]class B1 { public: virtual void func1(); } class B2 { public: virtual void func2(); } class D: public B1, public B2 { public: void func1(); void func2(); } int main() { B2 *dd = new D(); dd->func2(); }[/code]类D多重继承自两个类B1和B2,那么D的对象正常情况下应该有两个...
本帖最后由 tianhailong 于 2012-09-03 17:27 编辑 我是用gdb调试程序,想在字符串上设置条件断点, 例如: b parser_custom_info if string == "
[root@localhost update_server]#gdb update
GNU gdb (gdb) Red Hat Enterprise Linux (7.0.1-32.el5_6.2)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
我使用gdb调试, 假设有一个函数: int func() { cout<<"hello"; return 1; } 运行如下的命令: (gdb)print func() 这样,只是打印出了函数的返回值, 但是函数内部的hello却没有打印出来, 请问如何能够调用一个函数,并且打印这个函数内部执行的输出语句呢? 谢谢回答!!!
本帖最后由 hitcser01 于 2013-09-24 07:37 编辑 [code]main(){ foo_init() time_init() bar_init() }[/code]调试的时候从main()第一行开始一直就是next,但是当运行到time_init()时竟然自动进入了time_init()内部,保证没有在time_init()内部设置断点,就是自动进入的。 自动进入time_init()后查看堆栈信息:(没有time_init() ?)[code](gdb) info stack #0 main () at main.c:83 [/code]finish也提示:"finis...
[code]root@c-dev:/cdev# vi stack.c[/code][code]int add (int x, int y) { int a =0; a = x; a += y; return a; } int main (int argc, char *argv[]) { int x, y, result; x = 0x12; y = 0x34; result = add(x, y); return 0; }[/code]如题,请教各位大神,怎样在gdb中获得add()函数的返回地址?在不反编译的情况下?请指点,谢谢。
代码如下非常简单[code]#include