私は大学での私の現在の仕事でgdbを使用しましたが、Windowsでの開発にCDBとWinDBGを使用する方法を学ぶ必要があります。私はCDBを使うのが好きです。なぜなら、Emacsには素晴らしいモードがあるからです。CDBデバッグプロセスへの現在のディレクトリとコマンドライン引数の変更
CDBの起動後に現在のディレクトリを変更するにはどうすればよいですか?現在のディレクトリはデフォルトで実行可能なディレクトリ(は現在のdir = c:/ devとなりますが、私は
C:/testdir
からcdbを起動しました)がデフォルト設定されているので便利ですが、私が好む別のドライブ作業ディレクトリとして使用します。または、私は複数のテストディレクトリを持っている可能性があり、私はプロセスのブレークポイントを失うことなくそれらの間を簡単に切り替える必要があります。作業ディレクトリの変更は、cd
を使ってGDBで行うことができます。これはどのようにしてCDBで行うことができますか?cdb my.exe arg1 arg2
を使用して新しいプロセスのデバッグを開始し、数分のブレークポイントとコードステップを設定した後、追加の引数を指定する必要があることがわかります。 GDBでは、プロセス(r arg1 arg2 newarg3 ...
)を実行するたびにコマンドライン引数を設定できます。ブレークポイントとワークスペース内のすべてが同じままです。 CDBでこれを行うことは可能ですか?ワークスペースを保存し、デバッグプロセスの新しい引数でCDBを再起動し、ワークスペースをロードしてブレークポイントを取得する必要があるように見えます。これは、実行コマンドを発行するだけの作業よりもはるかに重要です。
私は過去数週間のオンとオフを検索した後、これらのための答えを見つけていない、と私は本当に離れてVisual Studioのデバッグから取得したいのですが。
編集:明確化#1、#2
万が一このhttp://www.emacswiki.org/emacs/cdb-gud.elを使用していますか?作業ディレクトリは、コメントに基づいてcdbが存在しない場所に接続する実行可能ファイルでなければなりません。その後、シンボル、ソースファイルがどこに置かれているかを常に伝える必要があるので、実際に問題があるとは思われません。あなたは何を求めていますか?ワークスペースをcdbに保存した場合は、すべてのブレークポイントを保存する必要がありますが、これはWinDbgでは確かです。私はWinDbgを独占的に使用しているので、最後の点を推測しています – EdChum
私は#1を明確にしました。 #2の場合は、
cdb myexe.exe arg1 arg2
としましょう。デバッグとブレークポイントの設定後、バグを再現するために追加の引数を指定する必要があることがわかりました。私がGDBでこれをやっていたら、r arg1 arg2 newarg3
を発行すれば十分です。 CDBでは、新しいコマンドライン引数でデバッグプログラムを再起動するにはどうすればよいですか? – Kizaru1.についてはわかりませんが、2.では、引数http://msdn.microsoftをとるスクリプトファイルを作成することができます。com/en-us/library/windows/hardware/ff566261%28v = vs.85%29.aspxこれは、可変引数を使用してスクリプトを実行します – EdChum