草庐IT

debug_backtrace

全部标签

linux - Linux 上的 sbt 不接受 -jvm-debug 5005

我在ArchLinux上使用来自官方arch存储库的sbt启动器版本0.13.7。我正在尝试使用IntelliJ调试Scala应用程序。我看过的所有其他地方,包括其他堆栈溢出问题,似乎都在说Linux版本的sbt可以通过简单地调用“sbt-jvm-debug5005”来调试但是,当我这样做时,我得到一长串错误:[warn]The`-`commandisdeprecatedinfavorof`onFailure`andwillberemovedin0.14.0[error]Expectedletter[error]Expectedsymbol[error]Expected'!'[erro

linux - Linux 上的 sbt 不接受 -jvm-debug 5005

我在ArchLinux上使用来自官方arch存储库的sbt启动器版本0.13.7。我正在尝试使用IntelliJ调试Scala应用程序。我看过的所有其他地方,包括其他堆栈溢出问题,似乎都在说Linux版本的sbt可以通过简单地调用“sbt-jvm-debug5005”来调试但是,当我这样做时,我得到一长串错误:[warn]The`-`commandisdeprecatedinfavorof`onFailure`andwillberemovedin0.14.0[error]Expectedletter[error]Expectedsymbol[error]Expected'!'[erro

linux - 如何仅使用 ptrace (linux, x86/x86_64) 获取 "backtrace"(如 gdb)

我想像gdb一样得到类似backtrace的输出。但我想通过ptrace()直接执行此操作。我的平台是Linux,x86;以及后来的x86_64。现在我只想从堆栈中读取返回地址,而不转换为符号名称。所以,对于测试程序,通过gcc-4.5以-O0方式编译:intg(){kill(getpid(),SIGALRM);}intf(){inta;intb;a=g();b=a;returna+b;}inte(){intc;c=f();}main(){returne();}我将启动一个我的程序,并在一开始就连接ptrace来测试程序。然后,我将执行PTRACE_CONT并等待信号。测试程序何时会进

linux - 如何仅使用 ptrace (linux, x86/x86_64) 获取 "backtrace"(如 gdb)

我想像gdb一样得到类似backtrace的输出。但我想通过ptrace()直接执行此操作。我的平台是Linux,x86;以及后来的x86_64。现在我只想从堆栈中读取返回地址,而不转换为符号名称。所以,对于测试程序,通过gcc-4.5以-O0方式编译:intg(){kill(getpid(),SIGALRM);}intf(){inta;intb;a=g();b=a;returna+b;}inte(){intc;c=f();}main(){returne();}我将启动一个我的程序,并在一开始就连接ptrace来测试程序。然后,我将执行PTRACE_CONT并等待信号。测试程序何时会进

keil 4单片机程序的debug调试

1、单击keil4窗口的调试按钮快捷图标,进入到软件模拟调试模式,如图所示  在软件调试模式下,可以设置断点、单步、全速、进入某个函数内部运行,还可以查看变量的变化过程、模拟硬件IO口电平变化、查看代码执行时间等,先了解一下调试按钮的功能: 其中,RST是将程序复位到主函数的最开始初,准备重新运行程序。是全速运行,运行程序中时间不停止。是停止全速运行,用来停止正全速运行的程序。是进入子函数内部。是单步执行代码,它不会进入子函数内部,可直接跳过函数。是跳出当前进入的函数,只有进入子函数内容该按钮才被激活。 是程序直接运行至当前光标所在行。是显示/隐藏编译窗口,可以查看每行C语言代码编译后所对应的

linux - 是什么让 64 位 Linux 上的 backtrace() 崩溃(SIGSEGV)

我正在linux上开发一个应用程序,我想在其中以特定频率回溯所有正在运行的线程。所以我的用户定义的信号处理程序SIGUSR1(对于所有线程)调用backtrace()。我的信号处理程序发生崩溃(SIGSEGV),它源自backtrace()调用。我已将正确的参数传递给大多数网站上指定的函数。http://linux.die.net/man/3/backtrace.在这种情况下,什么会导致backtrace()崩溃?要添加更多详细信息:让我得出崩溃发生在回溯内部的结论是下面的第14帧。onMySignal是信号处理程序SIGUSR1,它调用回溯。onMySignal的示例代码是(从bac

linux - 是什么让 64 位 Linux 上的 backtrace() 崩溃(SIGSEGV)

我正在linux上开发一个应用程序,我想在其中以特定频率回溯所有正在运行的线程。所以我的用户定义的信号处理程序SIGUSR1(对于所有线程)调用backtrace()。我的信号处理程序发生崩溃(SIGSEGV),它源自backtrace()调用。我已将正确的参数传递给大多数网站上指定的函数。http://linux.die.net/man/3/backtrace.在这种情况下,什么会导致backtrace()崩溃?要添加更多详细信息:让我得出崩溃发生在回溯内部的结论是下面的第14帧。onMySignal是信号处理程序SIGUSR1,它调用回溯。onMySignal的示例代码是(从bac

android - Eclipse 和 Android : cannot debug on Samsung Galaxy S2 because not detected

我刚刚开始学习Android开发。我使用Ubuntu11.10和Eclipse。我已经安装了android开发所需的插件,我还编写了一些在模拟器上编译和运行良好的示例。但是无法在模拟器上测试多点触控,所以我想在我真正的三星GalaxyS2设备上测试它们。问题是我已经尝试了我在网上找到的所有东西,但仍然无法使用它。当我运行./adbdevices时,它没有显示任何内容,尽管设备已连接。$lsusb...Bus001Device012:ID04e8:6860SamsungElectronicsCo.,Ltd$./adbdevicesListofdevicesattached我已经按照网上的

android - Eclipse 和 Android : cannot debug on Samsung Galaxy S2 because not detected

我刚刚开始学习Android开发。我使用Ubuntu11.10和Eclipse。我已经安装了android开发所需的插件,我还编写了一些在模拟器上编译和运行良好的示例。但是无法在模拟器上测试多点触控,所以我想在我真正的三星GalaxyS2设备上测试它们。问题是我已经尝试了我在网上找到的所有东西,但仍然无法使用它。当我运行./adbdevices时,它没有显示任何内容,尽管设备已连接。$lsusb...Bus001Device012:ID04e8:6860SamsungElectronicsCo.,Ltd$./adbdevicesListofdevicesattached我已经按照网上的

c - 在 Raspberry Pi 上,backtrace() 返回 0 帧

我正在使用glibc的backtrace(),但我似乎无法让它在我的RaspberryPi上正常工作。一切都在没有警告的情况下编译,但backtrace()返回0作为存储的帧数。完全相同的代码确实会在x86_64(Debian稳定版)上产生回溯,backtrace()返回6帧:/*test.c*/#include#include#includevoidfoo(void){void*stack[10];intn=backtrace(stack,10);fprintf(stderr,"Last%dframes:\n",n);backtrace_symbols_fd(stack,n,STDE