microsoft / microsoft/vscode-cpptools

[Win10] After __debugbreak(), the debugger no longer works correctly

オープン
#758 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

debugger
主要言語
TypeScript
スター
6.2k
フォーク
1.7k
平均マージ
14時間 46分
マージ済み PR(30日)
61

説明

Environment:

  • tool-chain: C++ tool-chain that comes with Visual Studio 2015.
  • VSCode 1.12.2
  • Windows 10.

Steps to reproduce:

  1. Add __debugBreak somewhere in your C++ code.
  2. Start a debugging session until the execution stops in the __debugBreak() call.
  3. From this moment on, try to go step-by-step in the code (using F10)

Expected result:
The debugger should step by step into the code, and the execution cursor (yellow arrow at the left side of the editor pane while in the Debugger view) should show the currently executed line.

Actual result:
The debugger goes step by step into the code, but the execution cursor disappears after the first F10 key-press. After this point you don't know where the execution cursor is.

Recovery:
The only way to recover from this is to look into the call-stack view, select the current thread, and double click the function at the top of the call-stack. After this action, the execution cursor reappears, but only until you press F10 again, when it disappears.

Mention:
This only happens after __debugBreak(). For a normal breakpoint added with F9 the debugger works correctly.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

__debugBreak() を含む C++ プログラムを使用し、Visual Studio 2015、VS Code 1.12.2、Windows 10 を列挙した環境で問題を再現してから、通常の F9 ブレークポイントでのステップ実行と比較する。F10 後のデバッガーの現在のスレッドと実行位置の更新を追跡する。各ステップ後も実行カーソルが表示されたまま正確であれば完了とする。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, typescript, vscode
領域
devtools
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。