2

NDK(Only-native-C ++)アプリケーションで、プログラムによるデバッグトラップを設定する正しい方法は何ですか?コールスタックや変数などを調べる可能性を持ってアプリケーションを停止することを意味します。たとえば、私のGameEngineのWIN32デバッグトラップでは、次のように宣言されています。

#define DIE() __asm{ int 3 }

iOSの場合は

#   if TARGET_IPHONE_SIMULATOR
#       define DIE() {__asm__("int3");}
#   else
#       define DIE() {__asm__("trap");}
#   endif

Android NDKアプリケーションの正しいものは何ですか?

4

2 に答える 2

2

「android/log.h」の __android_log_assert(...) が機能するはずです。

これにより、SIGTRAP が発生するため、デバッガーが中断されます。使用方法の概要については、http://mobilepearls.com/labs/native-android-api/を参照してください。

于 2012-09-28T22:46:54.483 に答える
0
#include <signal.h>
raise(SIGTRAP);

またはhttp://androidxref.com/5.0.0_r2/xref/system/core/liblog/logd_write.c関数のように: __android_log_assert

__builtin_trap();
于 2014-12-10T13:49:47.120 に答える