microsoft / microsoft/vscode-cpptools
Source not available if the path contains unicode char when hit bp
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 6.2k
- フォーク
- 1.7k
- 平均マージ
- 14時間 46分
- マージ済み PR(30日)
- 61
説明
Internal bug id: 196744
Repro:
-
Puting your source code under path like: /home/tester/Documents/test司法
-
Open in VS Code
-
Set some BP
-
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、Unicode 文字を含むソースパスで報告されたブレークポイントの失敗を再現し、次に MI-mode GDB のエスケープされたパスがどのように処理されるかを調べます。返されたエスケープ済みパスと実際のファイルシステムパスを比較します。VS Code がブレークポイントで停止し、ソースが利用できないと報告する代わりにソースを表示できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp, vscode
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100