Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.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
C++ 在Xcode中的特定行上显示运行时错误消息_C++_Xcode_Macos_Assert - Fatal编程技术网

C++ 在Xcode中的特定行上显示运行时错误消息

C++ 在Xcode中的特定行上显示运行时错误消息,c++,xcode,macos,assert,C++,Xcode,Macos,Assert,我想在运行时在C/C++代码中的Xcode中显示自定义错误消息。例如,这可以用于自定义assert()函数 我希望以内联方式显示消息,就像SentTestingKit一样: 现在我唯一能做的就是使用\u内置陷阱停在正确的线路上。但不显示自定义错误消息 我不熟悉xcode,但这里介绍了几乎所有其他地方都是如何使用xcode的。 您的自定义断言将如下所示: #define MY_ASSERT(a1, a2, desc, ...) {\ PrintAssertMessage(...);

我想在运行时在C/C++代码中的Xcode中显示自定义错误消息。例如,这可以用于自定义assert()函数

我希望以内联方式显示消息,就像SentTestingKit一样:

现在我唯一能做的就是使用
\u内置陷阱
停在正确的线路上。但不显示自定义错误消息


我不熟悉xcode,但这里介绍了几乎所有其他地方都是如何使用xcode的。 您的自定义断言将如下所示:

#define MY_ASSERT(a1, a2, desc, ...) {\
     PrintAssertMessage(...);         \  
     DebugBreak();                    \
}
在windows中,win32 API中已经有一个DebugBreak函数。 在Linux和大多数其他运行IA32/X64的系统中,您可以简单地调用INT3,这是断点陷阱

asm  ("int 3");
我在xcode中读到它是:

__asm {int 3}


在任何情况下,这都应该被一个宏所包围,该宏在调试构建中禁用断言,以及定义如何引起断点的宏。

您的问题不清楚。尝试提供更多信息或示例。@AdamBurry我已经更新了我的问题。是否可以发送永久消息?如果是这样,请使用#pragma message(此处您的消息来自assert),并在该行中使用SIGTRAP或uuu builtin_trap。甚至还有一个随时可用的函数(
\uu builtin_trap
)可以像跨平台陷阱一样工作。当然,您可以添加messagebox或控制台输出。但这并没有回答一个原始问题,即如何在Xcode中内联显示此消息。
__asm__("int $3")
__asm__("trap")