microsoft / microsoft/vscode-cpptools

Didn't display warning message when attempt to debug mismatched core and application

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

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

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

説明

Internal bug id: 245741

Configuration

Ubuntu14 x64

Install latest verson of vscode and cppdebug extension.

Repro:

  1. Compile following C++ code with x64 by default: g++ -g main.cpp - o a.out

int main()
{
int i=0;

 i=i/i;
 return 0;  

}

  1. Compile the same code with x86: g++ -g -m32 main.cpp -o a.out-x86

  2. Run the x64 program "a.out" and collect the core dump

  3. Launch vscode by updating "program" and "coreDumpPath" as following:

  4. F5

Here is the launch.json file:

{

..
"configurations": [
{
..
"targetArchitecture": "x64",
"program": "${workspaceRoot}/a.out-x86",
"args": [],
"stopAtEntry": false,
"coreDumpPath":"${workspaceRoot}/core",
"cwd": "${workspaceRoot}",
"environment": []

....
}
]
}

Observe:

There is no any message displayed in the debug console, this is difficult for customers to identify what the problem here if they happen to debug the mismatched core dump and application.

Attached log in attachment.

Investigation:

I try to debug the same scenario in gdb, it can at least prompt message like “warning: core file may not match specified executable file … warning: Selected architecture i386 is not compatible with reported target architecture i386:x86-64”

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

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

はじめの一歩

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

調査の方向性

提供された x64 および x86 のコンパイルコマンドと launch.json 構成を使って不一致を再現することから始め、その後、F5 起動中のデバッグコンソールを確認してください。拡張機能が coreDumpPath と実行可能ファイルのアーキテクチャをどのように処理しているかを追跡してください。完了の条件は、コアダンプとアプリケーションが一致しない場合に、報告された gdb 警告と同等の明確な警告が表示されることです。

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

評価

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

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

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