我有一个用于检查和处理错误的宏
#define ERROR_IF_ARG(x, y, z, w)\
if (x) {\
printf("\nERROR! {\n\tText : " y "\n\tExpression : (" #x ")\n\tIn file : %s\n\tLine : %d\n\tFunction : %s\n}\n\n", z, __FILE__, __LINE__, __func__);\
w;\
}
代码中的我打电话
ERROR_IF_ARG(!isOfType(UNI_STRING), "expected 'std::string', found '%s' ", UNITYPE2STR(type), return NULL);
遗憾的是我不能在这个宏中放置断点,但是有没有办法使用#pragma或__按代码放置断点标记?或者生成和中断,所以我可以追踪问题
答案 0 :(得分:2)
如果你想使用断点,显然你正在调试器中运行;如何在宏中使用断言?