您确实想重新创建DebugBreak的行为。这将停止调试器中的程序。
我对“ DebugBreak
linux”的谷歌搜索已经发现了对该内联汇编的一些
引用,这些内联汇编应该也可以这样做。
#define DEBUG_BREAK asm("int $3")然后你的断言可以变成
#define ASSERT(TEST) if(!(TEST)) asm("int $3");根据 Andomar的 说法,int 3会导致cpu引发中断3。根据 drpepper 的说法,更 简便 的方法是调用:
raise(SIGTRAP);



