以前に書いたこと: 長い間 C/C++ を使ってプログラミングしていなかったのですが、今回 MAC コンピューター上の vscode で C/C++ コードをデバッグしていたときに、次のような入力ステートメントを入力できないことがわかりました。 scanf と cin として、いくつかのオンライン チュートリアルを参照しましたが、問題を解決するのが少し面倒か難しいことがわかりました。したがって、この記事は最終的な解決策を記録するために使用され、第一に、次回問題に遭遇したときに解決できるように記録し、第二に、皆さんとコミュニケーションし、議論することを目的としています。
1. 問題の説明
ここでは、私が遭遇した問題を説明するための簡単な入力と出力の例を示します。デバッグすると、プログラムの出力がデバッグ コンソールにあり、ここでは入力できないことがわかります。(つまり、scanf に対応するステートメントをこれ以上進めることはできません)。
したがって、デバッグ中に入力できない問題を解決する方法を見つける必要があります。
2. 解決策
(解決策はたくさんありますが、ここでは最も簡単に実行できると思われる方法を選択します)
ステップ 1: 関連するプラグインをダウンロードします (このステップについては簡単に説明します)
CodeLLDB 拡張機能をインストールします。
ステップ2: 実行可能ファイルを生成する
ここでは、ターミナルに g++ コマンドを直接入力するか、vscode の右上隅にある実行ボタンを直接クリックすることができます。
この手順の後、実行可能ファイルが現在のディレクトリに生成されたことがわかります。この時点で、デバッグを開始できます。
ステップ 3: デバッグ (launch.json
ファイルの変更)
を押してfn+F5
(この方法では右上隅にあるデバッグ ボタンを選択しないことをお勧めします)、LLDB デバッガーを選択します。
現在のディレクトリにさらに多くの.vscode
フォルダーがあり、launch.json
ファイルが自動的に作成されていることがわかります。(現時点では、直接デバッグするとエラーが報告されます/それでも入力の問題を処理できません)
ここでは 2 か所を変更する必要があります。
1. 統合ターミナルを使用してプログラムを実行およびデバッグします。 add "terminal": "integrated",
2. 現在のファイルが存在するディレクトリで同じ名前の実行可能ファイルを実行します。プログラム属性を「${workspaceFolder}/${fileBasenameNoExtension}」に変更します。
下の図に示すように、コピーしやすいように、この設定をここに貼り付けます。
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"terminal": "integrated",
"program": "${workspaceFolder}/${fileBasenameNoExtension}",
"args": [],
"cwd": "${workspaceFolder}"
}
]
この時点で、修正は完了です。この時点で、もう一度 fn+F5 を押すと、デバッグで入力ステートメントを処理できることがわかります。
3. 毎回設定ファイルを修正する必要がある問題を解決する方法
上記の手順で、デバッグが現在のプロジェクトで入力を処理できない問題は解決されました。ただし、プロジェクトを変更すると、上記の設定変更を再度実行する必要があり、さらに面倒です。したがって、毎回設定ファイルを再修正する必要があるという問題の解決を検討してください。(より簡単な方法は、構成ファイルをテンプレートとして保存し、新しいプロジェクトにコピーすることです。) より便利な方法は、 VSCode のグローバル ユーザー設定でデフォルト ファイルを構成することですlaunch.json
。
ショートカット キーを使用しcommand+,
て設定を開きます。をクリックするsettings.json
と、このファイルは VS Code のグローバル ユーザー設定を保存するために使用されます。
という名前のプロパティを見つけます。その値は、構成するファイルの内容を"launch"
含むオブジェクトです。launch.json
今回の内容に伴い、以下のように修正させていただきます。
その後、新しいプロジェクトを作成しても、デバッグを再構成することなく入力を処理できます。
個人的なメモ: Python はインタープリタ型言語であり、その方法が異なります。いくつかの処理の後、このコンピューターでデバッグする場合は、右上隅のデバッグ ボタンを押して、Python デバッグを選択してデバッグします。