c++;构造函数中的xcode调试局部变量 我正在用XCOD3.1.4开发C++应用程序 在调试时,如果我进入构造函数,我只会看到membervariables,而不会看到构造函数中使用的局部变量

c++;构造函数中的xcode调试局部变量 我正在用XCOD3.1.4开发C++应用程序 在调试时,如果我进入构造函数,我只会看到membervariables,而不会看到构造函数中使用的局部变量,xcode,debugging,constructor,Xcode,Debugging,Constructor,有人知道这个问题以及如何解决吗?这可能是编译器中的一个错误,例如。您可以尝试升级您的g++或使用其他编译器。明显的问题:您运行时没有优化(-O0),对吗?对于优化,局部变量被优化是很常见的。即使没有优化,我发现很多简单的C++似乎都被隐藏了。例如,您不能总是在共享的ptr上调用get(),因为它是内联的 我建议升级到Xcode 3.2。我觉得C++支持在3.1和3.2之间有所改进。也就是说,C++代码支持在XCODE中仍然很弱。除非你需要C++的移植性(我确实如此),我不建议在C++中开发Mac

有人知道这个问题以及如何解决吗?

这可能是编译器中的一个错误,例如。您可以尝试升级您的
g++
或使用其他编译器。

明显的问题:您运行时没有优化(-O0),对吗?对于优化,局部变量被优化是很常见的。即使没有优化,我发现很多简单的C++似乎都被隐藏了。例如,您不能总是在共享的ptr上调用
get()
,因为它是内联的

我建议升级到Xcode 3.2。我觉得C++支持在3.1和3.2之间有所改进。也就是说,C++代码支持在XCODE中仍然很弱。除非你需要C++的移植性(我确实如此),我不建议在C++中开发Mac或iPhone应用程序。你将整天与体制抗争。只学习并使用ObjC要好得多(此外,ObjC确实是一种非常强大的语言,与Cocoa配合使用非常好)。即使在需要C++的移植性时,我建议将C++代码隔离成一个核心,并在Objtovi-C.<
在任何情况下都不应该使用太多的ObjC++。在我使用ObjC++的经验中,gdb非常困惑。如果你要用C++写,请把你的Objc包起来。如果你要写在Objc中,请包装你的C++。但是,如果您计划使用调试器,请不要尝试同时写入这两个调试器。

我在其他地方看到,-gstabs+解决了构造函数中特定于局部变量的类似问题。我没有尝试过,但对我有效的解决方案是将代码体移动到具有相同参数的私有函数中,然后从构造函数调用该函数。相同的行为,但现在您可以调试代码