getopt
私の機能に組み込まれたばかりmain()
です
getopt
optarg
各呼び出しのグローバル変数を設定します
を使用してステップスルーmain()
するとgdb
、getopt()
呼び出しoptarg
は常にNULL
(例: (gdb) p optarg
) でありprintf("%s\n", optarg)
、期待どおりに cmd 行の引数が出力されます
どうしたの?なぜ2つは同じではないのですか?
これは gdb の問題であり、gdb がどのようにグローバルを検査しようとしているのか、それとも何か他のことが起こっているのでしょうか?