microsoft / microsoft/vscode-cpptools
class "_PEB::<unnamed>" has no field "ImageUsedLargePages"
Aperta
Nessuno ha ancora preso questa issue.
bug
Language Service
parser
Visual Studio
- Lingua principale
- TypeScript
- Stelle
- 6.2k
- Fork
- 1.7k
- Merge medio
- 14h 46m
- PR unite (30g)
- 61
Descrizione
Environment
- OS and Version: win10
- VS Code Version: 1.90.2
- C/C++ Extension Version: 1.20.5
Bug Summary and Steps to Reproduce
Bug Summary:
#include <windows.h>
typedef struct _PEB
{
union
{
BOOLEAN SpareBool; // 3.51 to early 5.2
union // late 5.2 and higher
{
UCHAR BitField_0x03;
struct
{
// 0x01
UCHAR ImageUsedLargePages : 1; // late 5.2 and higher
UCHAR SpareBits_0x03_00 : 7;
};
};
};
} PEB, PPEB;
int main()
{
PEB peb{.ImageUsedLargePages = 1};
return 0;
}
Configuration and Logs
cl -std:c++20 test.cpp can compile
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.26100.0",
"compilerPath": "cl.exe",
"cStandard": "c23",
"cppStandard": "c++23",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}
Other Extensions
No response
Additional context
No response
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia riproducendo la diagnostica con lo snippet C++ per Windows fornito e la configurazione indicata dell'estensione C/C++ di VS Code. Traccia il modo in cui IntelliSense gestisce le union anonime annidate e l'inizializzatore designato, quindi verifica che il codice valido non segnali più la mancanza del campo ImageUsedLargePages, preservando al contempo il comportamento esistente di cl.exe.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, typescript
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100