2011-07-26 20 views
0

この警告メッセージは「文字列リテラルでもフォーマット引数でもありません」というメッセージが表示されていますが、アプリケーションをデバッグして実行しているときに表示されます。私のファイル名はaddaccount.mで、いくつかのヘッダーファイルが接続されています。警告メッセージ「文字列リテラルではなく、フォーマット引数がありません」

なぜこの行番号が表示されないのですか?事前

答えて

1

おかげであなたが悪いNSLog関数呼び出しを持っているようですね。プロジェクト内でNSLogを検索し、それが問題なのかどうかを確認します。

+0

でのNSLogを交換してください。なぜそれは行番号を表示していないのですか? –

+0

特に、制御されていない書式文字列の脆弱性を警告するものです。http://en.wikipedia.org/wiki/Format_string_vulnerabilities言い換えれば、書式指定子をパラメータとして渡すと、悪いことが起こる可能性があります。また、書式指定子の数がパラメータの数と一致しない可能性があります。 – Jano

1

pchファイル(共通ヘッダー)が、以下のようにnslogのマクロを定義している場合。行番号を取得します。

# define CustomLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); 

、これまでのNSLogがオフになっているのCustomLog

関連する問題