QTPからdll(c#)を読み込んでいます。qtpテストの開始時にc#コードをデバッグすることは可能ですか?
2 に答える
はい、可能な dll にデバッグできますが、ソースが必要になります (逆アセンブリを見たい場合を除く)。また、アセンブリの PDB (デバッグ シンボル) も必要です。セットアップはかなり簡単です...
- QTP アプリケーションを開始します
- ビジュアルスタジオを起動
- ソース コードを開き、pdb が dll と同じディレクトリにあることを確認します。
- VSでデバッグメニューに移動し、プロセスにアタッチを選択します
- プロセス リストで、QTP プロセスを選択し、[アタッチ] をクリックします。
- コードにブレークポイントを設定する
- コードを実行するテストを開始し、問題がなければブレークポイントに到達する必要があります
注:ブレークポイントにヒットしない場合、VS はおそらく PDB を見つけることができず、VS のオプションにパスを追加する必要があります (またはそれらを見つけることができるようにする必要があります)。
また、[ツール] -> [オプション] -> [デバッグ オプション] ページで [自分のコードのみを有効にする] をオフにしてみてください (ほとんどの場合、リリース ビルド コードを見ている場合)。
更新: Answering comment... Tools->Options... に移動すると、左側のリストで [Debugging] を選択して展開し、[Symbols] を選択すると、VS がシンボルを検索するためのパスを追加できます。また、正確なシンボルがない場合は、ブレークポイントを右クリックして場所を選択し、シンボルが同期されないようにするオプションをオンにします。
お役に立てれば!
外部アプリケーションへの呼び出しを挿入しDebugger.Break()
て実行すると、ブレーク ポイントに到達すると、Windows から例外のデバッグが提案されます。
デバッグを選択すると、Visual Studio 内でブレーク後にコードを実行し、コード内にブレーク ポイントを設定できます。
Vista/Win7 を使用している場合は、デバッグを有効にする必要がある場合があります。方法については、この投稿をご覧ください。