1
Linuxでデバッグするのにgdbを使用しています。しかし、私はこのb d::~d
、コンソールに戻りますようにブレークポイントを設定する場合:関数 "d ::〜d"がGDBでブレークポイントを設定するときに定義されていません
機能「D ::〜D」私はデストラクタにブレークポイントを設定することはできません
を定義されていません。ここで はサンプルコードです:しかし
class b
{
protected:
...
public:
b(){
...
}
~b() {
...
}
...
} ;
class d: public b{
protected:
...
public:
d(){
...
}
~d() {
...
}
...
p* get(){...};
} ;
、私はBのブレークポイントを設定する:: B、B ::〜BとD ::成功しdは。 私は、コンソールのリターンを '私はB' を入力した後:
ブレークポイント:: DのY 0x0000000000577a6cを保つ取得()../xh:65
で行番号は、権利であります関数名が間違っています。
デストラクタを仮想化しようとしましたか?これは理由ではないかもしれませんが、非仮想的なデストラクタを持つ潜在的なエラーです。 – Hayt
ありがとうございますが、なんらかの理由で、今はできません。@ Hayt –
なぜbd ::〜dできないのか分かりませんが、特定の行番号にブレークポイントを設定しようとすると、特定のファイル – alexeykuzmin0