3

死んだ馬をむち打ちするわけではありませんが、CodePlex でStackWalkerというプロジェクトを見つけました。これは、ネイティブ アプリケーション (C++ アプリ) のスタック トレースを提供します。現代の C++ についてよく知らないのですが、これは VB6 アプリでも機能しますか? VB6 の関数は C++ の関数とどう違うのですか?

4

1 に答える 1

6

それはまず、vb6 アプリをどのように構築するかに依存します。プロジェクト + プロパティ、[コンパイル] タブ。[ネイティブ コードにコンパイル] ラジオボタンが選択されていることを確認します。「Create Symbolic Debug Info」オプションをオンにすると、このツールは有用なスタック トレースを提供するために PDB を必要とします。IDE からコードを実行すると、常に p-code にビルドされるため、うまく機能しないことに注意してください。

難しい問題は、VB6 仮想マシンである msvbvm60.dll のデバッグ情報です。実行するほとんどのコードは、ネイティブ コードにビルドする場合でも、このサポート DLL を通過します。必要な PDB は、Microsoft シンボル サーバーから入手できなくなりました。理由はわかりませんが、おそらくそれは本当に死んだ馬だからです.

于 2012-08-26T19:04:05.297 に答える