无法在C ++ / Objective-C ++代码中设置断点

时间:2014-04-19 03:00:57

标签: c++ xcode objective-c++

我正在尝试在我的目标c ++(我认为它被称为)代码中设置一个断点。

我已经使用#ifdef _cplusplus#endif来包装代码,但是当我在其中设置断点时,它会在方法体的末尾中断,并且没有任何代码身体运行。

Bad breakpoints :/

我已经简化了我的代码,但我希望至少能看到由于cout而在控制台中打印的数字。

该文件的扩展名也为.mm。我是混合C ++和Objective-C的新手。我错过了什么?

1 个答案:

答案 0 :(得分:1)

#ifdefpreprocessor directive - 简而言之,这意味着如果某个地方没有_cplusplus #define,那么您的调试器就足够聪明地说嘿,这个是死代码 - 甚至不试图调试它

  

预处理程序指令是程序代码中包含的行   前面有一个井号(#)。这些行不是程序语句   但预处理器的指令。预处理器检查了   在实际编译代码之前的代码开始并解析所有这些   任何代码实际生成之前的指令   语句。

     

这些预处理程序指令只扩展到一行   码。一旦找到换行符,就预处理器   指令是结束。预计在结束时不会使用分号(;)   预处理指令。预处理程序指令的唯一方法   通过在换行符之前延伸多行   反斜杠()的行尾的字符。

这些非常有用,对于一个常见的例子,请快速查看Include Guards。作为查看我的意思的测试,请尝试在#define _cplusplus正上方添加#ifdef,然后重试。