1

これが私の問題です:

0:001> x xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator*
00000000`06645e10 xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator delete (void *)
00000000`06645be0 xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator new (unsigned int)
0:001> bu "xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator delete"
0:001> bu "xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator new"
breakpoint 0 redefined
0:001> bu xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator delete
Couldn't resolve error at 'xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator delete'
0:001> bu xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator\ delete
Couldn't resolve error at 'xerces_depdom_2_8!xercesc_2_8::DOMStringHandle::operator\ delete'

まず、関数名を引用してみます。ダイスなし - にブレークポイントを設定しようとすると、 のブレークポイントがoperator new削除されoperator deleteます。つまり、そもそもブレークポイントが正しく設定されていません。

引用されていない試行も機能しません。

それで、どうすればいいですか?

編集

bp ではなく bu を使いたいのには理由があります。ブレークポイントはスクリプトで設定されます。関数名とは異なり、実行ごとに変更される可能性があるため、ブレークポイントに実際のアドレスを使用することはお勧めできません。さらに、bu では、bp とは異なり、それぞれのモジュールがロードされる前にブレークポイントを設定できます。

それでは、質問を明確にしましょう。ブレークポイントは、それぞれのモジュールがロードされる前に設定されます。

4

2 に答える 2

1

使用するシンボル名にスペースがある場合は、中括弧を使用する必要があります。

bu (blah!operator new)

リンク、特に複雑なテキストを使用したブレークポイントのセクションを参照してください

于 2012-12-27T23:22:24.693 に答える