ここに問題があります
Xcode 5 で一部の古いコード (ARC 以前、Xcode 4、GDB) を復活させています。すべてがコンパイルされて正常に起動しますが、C++ 文字列オブジェクトの内容を出力するときに、デバッガーの出力ログに問題があります。
#define DebugPrintf(args...) x_Printf(__FILE__,__LINE__,__PRETTY_FUNCTION__,args);
void x_Printf(const char *file, int lineNumber, const char *funcName, const char *format,...)
{
va_list ap;
va_start (ap, format);
printf("%s (%s:%d)",funcName,file,lineNumber);
printf(format,ap);
va_end (ap);
}
void MyFunc()
{
string name;
…
DebugPrintf("Loaded entity %s\n",name.c_str());
}
結果:
void MyFunc() (File.cpp:52)Loaded entity \373*
${\370\325\377\277:{\373*
Ģ\247\300\242\247`6*
ただし、C++ 文字列オブジェクトの名前を調べると、コンテンツとして「MainMenu」が明確に含まれていることがわかります。
誰が何が起こっているのか知っていますか?