0

継承したコードをリバース エンジニアリングするためのフローチャートを取得する必要があると判断しました。VS の Team エディションを持っていないため、Visio で Team の組み込み機能を使用できません。そこで、.ncb (パーサー情報) ファイルを解析し、ドット (graphviz.org から) でグラフを作成しようと考えました。それはどれほど難しいでしょうか?しかし、そのファイルの内部に関するドキュメントは見つかりません。

フローチャートを実行するために商用アプリケーションを使用したくありません。そして、私が見た無料のアドインはすべて、私が C# または VB を使用していることを前提としています。ただし、C と C++ を使用しています。

「Visual Programming Flow Chart」ツールを備えた Microsoft の「Visual Studio Learning Pack」を試してみました。しかし、C++ では動作しないようです。とても近い!

では、ファイル形式やその他の提案へのポインタを持っている人はいますか (礼儀正しくしてください!)?

4

2 に答える 2

2

NCB ファイルを解析できる可能性はあまりないと思います。これらは独自のバイナリ形式であり、Visual Studio のすべてのバージョン間で変更され、変更される可能性があります。私がどこかで読んだことから、VS2010 では NCB が破棄され、インテリセンス情報が SQL Server Express を使用して通常のデータベースに保持される可能性があります。

検討できるもう 1 つのオプションは、コードを分析して図や UML チャートを作成する他のツールを使用することです。Doxygen はこれをある程度行いますし、同様に行う商用ツールも数多くあります。私は、Rational Rose (現在は廃止されている可能性があります..) と Together というツールを個人的に使用した経験があります。このリストは役に立つかもしれません

于 2009-01-30T22:20:38.597 に答える
0

「誰が何を呼び出すか」、「誰がどこを継承/オーバーロードするか」、「誰がグローバルを読み書きするか」という意味での構造分析のために、私はかつて分析に DeHydra (mozilla プロジェクト) を使用し、yed (www.yworks.com) を使用しました。グラフ表示。どちらも無料です。

Dehydra は Linux で実行され、コードが gcc コンパイルに合格する必要があります。VC は、gnu make 用に手動で変更できる makefile を生成できるため、これはあまり深刻な障害ではありません。私の場合、インクルード ファイルのパッチが必要でしたが、最終的に目的の情報を取得できました。

DeHydra を動作させるのに 3 日、makefile とインクルードを微調整するのにさらに 2 日、DeHydra 内で必要な情報を抽出する JavaScript コードを適応させるのにさらに 3 日かかりました。

DeHydra + Javascript は、yed で直接表示してインタラクティブに操作できるコード構造を含む graphml ファイルを 1 つのコンパイラで実行できるようになりました。

于 2010-02-25T11:36:26.993 に答える