我正在使用Android Studio调试一个用C++编写的NativeActivity应用程序
在我的C++代码中,我在android_main()中做的第一件事是等待10秒,以便附加调试器。在“Debug”窗口中,我看到:
Now Launching Native Debug Session几秒钟后
Debugger attached to process 28458然后在它连接之后,调试器就会停止,并发出一个信号:
Signal: 33 (signal SIG33)我按下“恢复程序”,然后我一次又一次地收到相同的信号7-8次。在那之后,程序如预期的那样继续运行,附加了调试器,我能够在断点处停止它。
这个SIG33是什么意思?我怎样才能防止它呢?
发布于 2015-12-12 01:12:57
信号33由bionic内部使用,用于回溯设施。
参见comment in __libc_current_sigrtmin.cpp。
// POSIX timers use __SIGRTMIN + 0.
// libbacktrace uses __SIGRTMIN + 1.
// libcore uses __SIGRTMIN + 2.请参阅generic、arm、x86和mips的__SIGRTMIN定义。
#define __SIGRTMIN 32我认为SIG33是由gdb引起的,gdb没有正确地忽略它。
发布于 2015-12-12 17:16:20
SIG33由LLDB用来表示“线程库”。
摘自LLDB源代码:
AddSignal (33, "SIG33", false, false, false, "threading library internal signal 2");但是我似乎不理解为什么你的代码会得到这样的结果。可能是由于一些小的依赖问题。
发布于 2018-03-13 17:42:00
可以使用以下GDB命令行忽略和/或静默这些内容:
handle SIG33 nostop noprinthttps://stackoverflow.com/questions/34061144
复制相似问题