Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SIG33调试本机Android时_Android_C++_Debugging_Android Ndk_Native - Fatal编程技术网

SIG33调试本机Android时

SIG33调试本机Android时,android,c++,debugging,android-ndk,native,Android,C++,Debugging,Android Ndk,Native,我正在使用Android Studio调试一个用C++编写的NativeActivity应用程序 在C++代码中,我在安卓IDIN主()/Cuth>中所做的第一件事情是等待调试器附加10秒钟。在“调试”窗口中,我看到: Now Launching Native Debug Session 几秒钟后 Debugger attached to process 28458 然后,在它连接之后,调试器立即停止,并发出一个信号: Signal: 33 (signal SIG33) 我按下“恢复程序”

我正在使用Android Studio调试一个用C++编写的NativeActivity应用程序
在C++代码中,我在安卓IDIN主()/Cuth>中所做的第一件事情是等待调试器附加10秒钟。在“调试”窗口中,我看到:

Now Launching Native Debug Session
几秒钟后

Debugger attached to process 28458
然后,在它连接之后,调试器立即停止,并发出一个信号:

Signal: 33 (signal SIG33)
我按下“恢复程序”,然后我一次又一次地收到相同的信号7-8次。之后,程序按预期继续运行,附加了调试器,我可以在断点处停止它


那个信号是什么意思?我怎样才能预防它

信号33由仿生公司内部用于回溯设施

有关、和的信息,请参见
\uu SIGRTMIN
的定义


我认为SIG33是由gdb引起的,gdb没有正确地忽略它。

SIG33被用来表示LLDB的“线程库”

摘自LLDB来源:

AddSignal (33, "SIG33", false, false, false, "threading library internal signal 2");

但我似乎不明白你的代码为什么会这样。可能是由于一些次要的依赖性问题。

可以使用下面的
GDB
命令行忽略和/或消除这些问题:

handle SIG33 nostop noprint

你使用的是什么版本的Android Studio?Android Studio 1.3.1,NDK 10E只是一个想法:信号33可能是用于程序的,你的调试器应该会通过它。我知道如何使用gdb(
处理SIG33 nostop noprint noignore pass
),但不知道如何使用android studio调试器;希望有帮助。有趣。我使用的是lldb,不是gdb,但我想lldb的工作方式是一样的,只有在lldb刚刚连接到进程的一开始,这种情况才会发生。你知道为什么它不会忽略它吗?你使用的是什么版本的lldb?它可能不会因为一个bug而忽略它,或者它是为另一个linux变体编译的。会发生一些崩溃,所以JVM需要打印回溯。主要问题是连接gdb时导致崩溃的原因。
AddSignal (33, "SIG33", false, false, false, "threading library internal signal 2");
handle SIG33 nostop noprint