3

私はIDAが大好きですが、Solarisでこのプロジェクトに取り組んでいます。私はLinuxマシンを持っていますが、IDAと同じリーグに何もない場合は、管理者にそのライセンスを購入するように説得します。

それを除けば、私は別の提案を探しています。IDAの他の機能のいくつかは便利ですが、現時点で必要な主なものは、ソースコードに基づかないコールフローグラフジェネレーターです。ビルドステップからの追加の出力が必要な場合は問題ありませんが、確認する必要のあるライブラリの一部にはソースがありません。

これまでのところ、私の最良の選択はValgrindのCallgrindlida、およびgprofのようです。それ以上の提案は大歓迎です。

re:gprof、Windriverによって提供されたGNUコンパイラセットには、プロファイリングのための機能を提供するために通常GNUコンパイラで提供されるライブラリがいくつかありません。これは、より一般的な問題に対する優れた解決策ですが、今のところ、最初に他の解決策を試すことを選択しています。

編集いくつかのRationalツール(Purify、Quantifyなど)もこれに適している可能性があります。私はIDAと同じ船に乗っていますが、グーグルをしている人がその提案が役立つかもしれないと思います。

edit2Valgrindはsolaris/sparcに移植されていません;p

4

3 に答える 3

3

ERESIプロジェクトをご覧ください。これはリバースエンジニアリングフレームワークであり、マシンコードからCFGを生成する機能を備えたELFshと呼ばれるツールを備えています。まだ安定/決勝はありませんが、一見の価値があります。

試してみたい場合:

  • ダウンロードしてインストールします(Ubuntuではapt-get)
  • 実行しelfsh32ます。シェルに入ります。
  • バイナリをロードします。load /bin/bash
  • それを分析する:analyse
  • グラフを生成します。graph

.dot形式のグラフとレンダリングされたPNGが表示されます(これは大きすぎてここに投稿できません)。

于 2011-04-12T19:16:50.173 に答える
2

Gprofを使用してコールグラフを生成できます。Kprofで視覚化できます。

于 2011-04-12T18:53:18.637 に答える
1

非常に遅い回答ですが、それでも役立つ場合があります。Solarisでは。を使用できますcollect

  • collect your_program your_args...
  • 次のようなディレクトリが生成されますtest.1.er
  • 次に、コンソールでコールグラフを視覚化できます。er_print -calltree test.1.er
  • またはX-Windowでanalyser
于 2016-06-28T13:22:43.473 に答える