実行時にCコードでソースコード行番号を取得する方法はありますか? その背後にある考え方は、ソフトウェアが単純なC言語で作られているとします。 .exeファイルはCについて何も知らないユーザーに配布されます。エラーが発生した場合、行番号を確認して製造元にエラーを報告することで、製造元でデバッグを行うことができます。私は実行時エラーをデバッグし、実行中にソースコード内の対応する行番号を取得するだけです。私はこれらのものの初心者です。実行時にCコードでソースコード行番号を取得する方法はありますか?
2
A
答えて
2
代わりにgdbを使用してください。しかし、私はそれが動作します推測:それはデバッグシンボルでコンパイルし、gdbのようなデバッガでコードを実行するために十分
if(someThingsWrong())
printf("wrong at line number %d in file %s\n", __LINE__, __FILE__);
3
GCCコンパイラを使用している場合は、標準定義済みマクロ - __LINE__
を行番号のプレースホルダとして使用できます。
コンパイル時にコンパイラが行番号を入力します。
例: -
printf("%d",__LINE__);
+1
'__LINE__'マクロはGCCに固有のものではありません。 –
2
あなたは、常に現在のファイル名と行番号に展開する組み込みマクロ__LINE__
と__FILE__
を、使用することができます。
#include <stdio.h>
int main(int argc, char *argv[])
{
if(argc<2)
{
printf("Error: invalid arguments (%s:%d)\n", __FILE__, __LINE__);
return 0;
}
printf("You said: %s\n", argv[1]);
return 0;
}
+1
'__FILE__'と' __LINE__'は他にも実際には必須のマクロです。 C11§6.10.8.1を参照のこと。 –
関連する問題
- 1. コード実行時に現在の行番号を取得する方法はありますか? C#
- 2. Goでソースコードのファイル名と行番号を取得する方法はありますか?
- 3. C++のファイルから行番号を取得する方法は?
- 4. ソースコード内で一般的なASTNodeの行番号を取得する方法は?
- 5. asyncで行番号を取得する方法C#
- 6. Xcodeデバッガコンソールでエラーコード行番号を取得できません。行番号を取得する方法はありますか?
- 7. 実行時にDefaultPropertyメタデータを取得する方法はありますか?
- 8. ファブリック固有の実行スクリプト番号を取得する方法
- 9. 実行可能なシーケンス番号を取得する方法
- 10. javascriptエラー行番号から実際の行を取得する方法
- 11. 実行時にC++で基本クラス名を取得する方法はありますか?
- 12. ラムダ式のソースコードを実行時(C#)に表示する方法はありますか?
- 13. 行番号でXDocumentからXElementを取得する方法
- 14. jqGridで行番号ごとにページ番号を取得する方法
- 15. OnDrawColumnCellイベントで行番号を取得する方法は?
- 16. SolarisでBACKTRACE(関数+行番号)を取得する方法は?
- 17. 実行時にTableAttributeを設定する方法はありますか、実行時にLINQタイプの切り替えを行う方法はありますか?
- 18. C#実行時にジェネリッククラスのプロパティ値を取得する方法
- 19. 行番号からカーソルを取得する方法
- 20. テーブルからperticular行番号を取得する方法
- 21. .llファイルからソース行番号を取得する方法LLVM
- 22. cheerio.jsのノード行番号を取得する方法は?
- 23. 現在の行番号を取得する方法は?
- 24. typescriptコンパイラAPIからノードの行番号を取得する方法はありますか?
- 25. netbeansエディタで現在の行番号を取得する方法
- 26. XML :: LibXMLでノードの行番号を取得する方法
- 27. MS SQL 2008で次の行番号を取得する方法
- 28. Powershellでエラーの行番号を取得する方法
- 29. シェルスクリプト実行の残り時間を取得する方法は?
- 30. プロジェクトのクラス内でビルド番号とバージョン番号を取得する方法はありますか
はありませんか? –
これはあなたの特定の質問に答えるダップです。しかし、最初のコメントで指摘されているように、より良いデバッグ方法はデバッガを使用することです。 – kaylum
実行時に行番号を尋ねています。説明していただけますか?私はコーディングの初心者です –