74

45行目のファイルservice.cppのgdbにブレークポイントを設定したいのですが、次のようにします。

gdb> break service.cpp:45

問題は、アプリケーションに多くのservice.cppファイルがあり、関心のあるファイルが選択されていないことです。適切なservice.cppファイルを指定するにはどうすればよいですか。

4

3 に答える 3

110

フルパスを指定します。

gdb> break /Full/path/to/service.cpp:45
于 2011-03-11T18:44:56.087 に答える
1

@Carlの回答に加えて、
誰かが@Tobiasのようになった場合は、デバッグフラグをメインとアクセスするソースファイルにNo source file named /Full/path/to/service.c必ず追加してください。-gmain.cfoo.c

次に、コンパイルされたファイルmainを使用していることを確認します。たとえば、ライブラリを更新して再リンクする必要がある場合があります。-goperable

于 2020-11-20T22:04:28.023 に答える
1

他のファイルとは異なる同じ末尾のコンポーネントを指定するだけです。

filename:linenumソースファイルfilenameの行linenumを指定します。filenameが相対ファイル名の場合、同じ末尾のコンポーネントを持つ任意のソースファイル名と一致します。たとえば、ファイル名が `gcc / expr.c'の場合、/ build / trunk / gcc / expr.cのソースファイル名と一致しますが、/ build / trunk / libcpp/expr.cまたは/build/trunkとは一致しません。 /gcc/x-expr.c。

https://www.zeuthen.desy.de/dv/documentation/unixguide/infohtml/gdb/Specify-Location.html

于 2021-03-31T14:16:48.850 に答える