microsoft / microsoft/vscode-cpptools

Source not available if the path contains unicode char when hit bp

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

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

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

説明

Internal bug id: 196744

Repro:

  1. Puting your source code under path like: /home/tester/Documents/test司法

  2. Open in VS Code

  3. Set some BP

  4. F5 tostart debugging

Expected:

VS Code is able to find the place to stop in source code

Actual:

Stopped at a place and show:

Source /home/tester/Documents/test345217270346263225/a.cpp is not available.

Investigation:

There is no such path /home/tester/Documents/test345217270346263225/,

it should be /home/tester/Documents/test司法

Inside of MI mode, GDB sends the actual document using Unicode escapes. For instance in the case I am looking at, the actual returned path is /home/jacdavis/tests\345\217\260\345\214\227/a.out.

That is a gdb bug. We should check and see if we can work around this by translating those back to Unicode, but we may be out of luck here.

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

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

はじめの一歩

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

調査の方向性

まず、Unicode 文字を含むソースパスで報告されたブレークポイントの失敗を再現し、次に MI-mode GDB のエスケープされたパスがどのように処理されるかを調べます。返されたエスケープ済みパスと実際のファイルシステムパスを比較します。VS Code がブレークポイントで停止し、ソースが利用できないと報告する代わりにソースを表示できれば完了です。

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

評価

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

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

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