190 MBのC++バイナリがあります。このバイナリをdbxに入れてブレークポイントを作成しようとすると、dbxがハングします。 dbxがハングアップしている間、私はそのメモリが10 GBを超えて急速に増加するのを観察しました。 TotalViewではブレークポイントを設定できます。ただし、表示されるすべてのデータは偽です。私は正常に多くの他の小さなバイナリをデバッグしたので、このバイナリの大きなサイズは問題です。実行可能ファイルが大きいと、デバッガがハングする
バイナリ:ELF 32ビットMSB実行可能SPARC32PLUSバージョン1、V8 +必須、動的リンク、削除されません。
コンパイラ:CC:Sun C++ 5.9 SunOS_sparc 2007/05/03。
Dbx:7.6 SunOS_sparc 2007/05/03。
TotalViewの:8.2.0-0
オペレーティングシステム:Solaris 10の
:
dbx mybinary
stop at Something.cc:170
dbxは、このコマンドから返されたことがないと私は最終的には別々の端末からdbxを殺さなければなりません。
私は成功しなかったいくつかのことを試しました:
1.バイナリサイズを19 MBに減らしたライブラリのほとんどのライブラリを動的にリンクするように切り替えました。
2. Solaris x86で試行しました。
3.ソフトウェアを64ビットとしてコンパイルします。
これが起こる原因と問題の解決方法を知っている人はいますか?
コンパイラのバージョンとdbxのバージョンはどちらですか? dbx -V CC -V検証するには:dbxが停止し、「停止」コマンドを入力したことに応答して拡張が始まりますか? デバッガでプログラムを実行する必要はありませんか? –
私は元の投稿を明確にすることであなたの質問に答えました。 – Hitman
最新のバージョンのSolaris Studioをダウンロードして試してみてください。 http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.html 使用しているバージョンは4.5歳です。 –