2017-06-27 2 views
0

Windowsでのカーネル開発について何も知らない多くの進歩を遂げました。リモートターゲットにvs2015デバッガを接続できます。私がブレークオールをクリックすると、リモートマシンがフリーズし、スレッドリストに4つのCPUが表示されます。私はmsシンボルサーバからシンボルを読み込み、カーネルドライバのデバッグビルドpdbsをローカルコピーからロードできます。 しかし、私は実際にリモートで実行しているマシンにローカルに持っているソースコードをどのように添付しますか?リモートでデバッグしているWindowsドライバのソースコードにブレークポイントを設定するにはどうすればいいですか?

私は欠けていることがいくつかあります。 pdbsとドライバのソースをローカルにコピーして、リモートマシンがフリーズしていると判断し、ファイルシステムにアクセスできない。多分私はそこに間違っています。

しかしどちらの方法でも、ドライバのためにカーネルが実行しているソースコードを見つけて、それをVisual Studioでブラウズする仕組みがわかりません。私はどちらか前にwindbgを使用したことがないので、それは私を助けません。

私はグーグルとグーグルで、見つけたすべての情報は私が直接ウィンドウにwindbgコマンドを付けて実行できる場所になっていますが、ソースコードをクライアント側に接続する最後のビットは得られません私はブレークポイントを設定することができます。

アイデア?この魔法の情報を持つウェブページへのポインタ?

ありがとうございました。

+0

ソースファイルは、ローカルマシン(ターゲットではない)にあるはずです。ソースファイルの検索方法に関するVSドキュメントを読んだことがありますか:https://msdn.microsoft.com/en-us/library/ms241613.aspx – adelphus

+0

これを見て、それはユーザースペースのデバッグに向いていて、カーネルのデバッグには向いていませんが私はとにかくそれをやりました。変化はありません。 – stu

答えて

0

さて、私はそれを働かせました。私は物事をよりうまく裏打ちすることがより重要であると思う。 ターゲットサーバのすべてのソースとpdbsをデバッガ/クライアントマシンの同じパスセットにコピーしました。ローカルの場所へのすべてのシンボルパスを指し示し、デバッガを起動しました(または付いています)。ソースファイル上で簡単なファイルを開き、ブレークポイントを追加し、ターゲットマシン上でコードをトリガしました。デバッガはブレークポイントで停止しました。 私は昨日何が間違っていたのか分かりませんが、パスを同じ場所にコピーすると、すべての部分を一緒にクリックしたようです。

関連する問題