2016-06-19 11 views
0

私のコードをコンパイルしてデバッグしようとしています.gcc 4.8.1で動作し、gdbバージョン7.5.1を使用しています。ブレークポイント1の再設定エラー:アドレスのメモリにアクセスできません。このエラーが発生する理由

私はこのエラーを引き起こしているかわからないです、私はブレークポイントを設定したり、GDBにスタートを使用することはできません、それらのすべてが同じ(類似の)エラーを与える: Error in re-setting breakpoint 1: Cannot access memory at address 0xe0b01c

を、私はこの答えgdb error in re-settings breakpoint (cannot access memory)を見ましたが、私-fPIEを使用していませんが、私は-fPICを使用していますが、7.7.1も同じ問題があります。

この問題は、gdb/gccのバージョンやいくつかのフラグが原因ですか?私が使用しています:-g -std=c++1 -D__GCC_EXPERIMENTAL_CXX0X__=1

答えて

0

Is this issue due to gdb/gcc version or some flags?

をあなたがメインの実行中に、または共有ライブラリにブレークポイントを設定しているかどうかを言いませんでした。アドレス:0xe0b01cは、共有ライブラリまたはPIE実行可能ファイルのようです。

いずれにしても、GCCのバージョンはではありません。はこれに関係していますが、GDBはかなり古くなっています。

標準液を再度有効にブレークポイント(あなたがmainで停止時間により、PIEの実行可能ファイルおよびすべての直接リンクされた共有ライブラリが最終アドレスに再配置されている)にenable、その後、(gdb) startを使用することです。

+0

私は(gdb)startを実行しようとしましたが、これは一時的なブレークポイントを置いて決してヒットしません。 0xe0a982の一時ブレークポイント2:ファイルmain.cc、行106ブレークポイントの再設定エラー1:アドレス0xe0a960のメモリにアクセスできません。私が設定したブレークポイントはどれもヒットしませんでした。 – Rohit

関連する問題