2017-01-04 9 views
4

私はRustを学習し始めましたが、Visual Studio Codeでデバッグを設定したいが、ブレークポイントは動作しません。私はネイティブ・デバッグ& RustyCode拡張子をVSコードに使用します。デバッグ時にブレークポイントがヒットしないVisual StudioでgdbでRustコード

は、ここに私の起動ファイルです:

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "name": "Debug", 
      "type": "gdb", 
      "request": "launch", 
      "target": "target/debug/test", 
      "cwd": "${workspaceRoot}" 
     } 
    ] 
} 

しかし、私は、この設定を実行すると、ブレークポイントがヒットされません。私は、デバッガが起動し、アプリが細かい走ったデバッグコンソールに表示が、警告メッセージ「ロード無し記号」がある。ここでは

No symbol table is loaded. Use the "file" command. 
No symbol table is loaded. Use the "file" command. 
Running executable 
[New Thread 32168.0x81e0] 
[New Thread 32168.0x3360] 
[New Thread 32168.0x61b8] 
[New Thread 32168.0x8040] 
The program "+ + * - /" calculates the value 1 
[Thread 32168.0x61b8 exited with code 0] 
[Thread 32168.0x3360 exited with code 0] 
[Thread 32168.0x8040 exited with code 0] 
[Inferior 1 (process 32168) exited normally] 

source of the app I am usingですが。ブレークポイントを動作させるにはどうすればよいですか?

+0

使用しているgdbのバージョンは何ですか? – ks1322

+0

GNU gdb(GDB)7.9.1 – vmg

答えて

4

私はのmsvcビルドを使用していることがわかるまで、私は同じ問題を抱えていました。

GDBのみgnuで動作するようになっていることを構築しますので、あなたはrustupを使用している場合、解決策は、rustup default stable(またはベータ/毎晩)と同じくらい簡単です。 GNUはデフォルトであり、msvcの場合はstable-msvcを実行する必要があります)。

rustupを使用しない場合は、Rustのgnuビルドを手動で再インストールする必要があります。

編集:下記のコメントに記載されているとおり、再ビルドするのを忘れないでください!

+1

そして、なぜ私のようにまだ動作しないのか疑問に思っているなら、再構築することを忘れないでください! – Kevin

+0

Windowsの場合msvcはデフォルトのです。 https://github.com/rust-lang-nursery/rustup.rs#working-with-rust-on-windows – dschaeffer

1

私がブレークポイントと同様の問題を持っていたし、それを固定settings.jsonに次の行を追加することがわかった:

{ 
    "debug.allowBreakpointsEverywhere": true 
} 

私はまた、MicrosoftのC/C++デバッガのプラグインではなく、ネイティブのものを使用しています。それはGDBでもまだ動作します。

関連する問題