web-dev-qa-db-ja.com

XCodeデバッガー:長い文字列を表示する

XCodeでプログラムをデバッグしているときに、200文字のマークの周りの長さの文字列を指すいくつかのCFStringRef変数があります。

デバッガーでは、特定の長さまでのこれらの文字列の値のみが表示され、省略記号が付けられます。文字列の完全な値を確認したいのですが。

任意の長さで終了しないように構成できるオプションはありますか?

28
mcccclean

デバッグコンソールでは、次のようにして文字列値を取得できます。

(gdb) print (void)CFShow(myCFString)

または:

(gdb) po (NSString*)myCFString

Either of those will display the entire string's contents to the debugging console. It's probably the easiest way to deal with large, variable-length strings or data structures of any kind.

デバッガーのFor more information, the printコマンドは、基本的にいくつかのデータ構造をコンソールにダンプします。任意の関数などを呼び出すこともできますが、printは関数宣言にアクセスできないため、暗黙的に指定する必要があります(上記の例を参照)。そうしないと、printコマンドが文句を言います。</ code >>

poprint-objectのショートカットであり、Objective-Cオブジェクトを除いてprintと同じです。基本的には次のように機能します。

(gdb) print (const char *)[[theObject debugDescription] UTF8String]

This is really useful for examining things like NSDataオブジェクトおよびNSArray/NSDictionary </ code>オブジェクト。

デバッグトピックの詳細については、 テクニカルノートTN2124-Mac OS X Debugging Magic を参照してください。また、(デバッガコンソールから)helpコマンドを発行することもできます。

32
Jason Coco

Xcodeでc ++プロジェクトをコンパイルする場合は、このコマンドを使用してください

po string_name

1
Shauket Sheikh