microsoft / microsoft/vscode-cpptools

call hierarchy doesn't show thread creations using the function pointer

Abierto
#12,965 3 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug Feature Request Language Service Visual Studio
Lenguaje dominante
TypeScript
Estrellas
6.2k
Forks
1.7k
Merge medio
14 h 46 min
PR fusionados (30 d)
61

Descripción

Environment
  • OS and Version: Windows_NT x64 10.0.19045
  • VS Code Version: 1.94.0
  • C/C++ Extension Version: 1.22.11
  • If using SSH remote, specify OS of remote machine: Ubuntu 20.04.6 LTS
Bug Summary and Steps to Reproduce

Bug Summary:
When you look for call hierarchy of a function, it doesn't list the references where it is called as function pointer, for example thread creation. This is useful, else we have to figure out the rest of the hierarchy using search function.

Steps to reproduce:

  1. Go to '...' function definition or declaration
  2. Click on '....' right click and select call hierarchy
  3. Scroll down to '....'
  4. See error

Expected behavior:

Configuration and Logs
I couldn't find "c_cpp_properties.json" in command palette


C/C++: Log Diagnostics

Version: 1.22.11
Current Configuration:
{
    "name": "Linux",
    "includePath": [
        "/path/to/folder**"
    ],
    "defines": [],
    "compilerPath": "/usr/bin/clang",
    "cStandard": "c17",
    "cppStandard": "c++14",
    "intelliSenseMode": "linux-clang-x64",
    "compilerPathInCppPropertiesJson": "/usr/bin/clang",
    "intelliSenseModeIsExplicit": false,
    "cStandardIsExplicit": false,
    "cppStandardIsExplicit": false,
    "mergeConfigurations": false,
    "compilerPathIsExplicit": false,
    "browse": {
        "path": [
            "/path/to/folder**",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
Modified Settings:
{
    "C_Cpp.dimInactiveRegions": false,
    "C_Cpp.inactiveRegionOpacity": 1
}
Additional Tracked Settings:
{
    "editorTabSize": 4,
    "editorInsertSpaces": true,
    "editorAutoClosingBrackets": "languageDefined",
    "filesEncoding": "utf8",
    "filesAssociations": {
        "string": "cpp"
    },
    "filesExclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
    "filesAutoSaveAfterDelay": true,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.22.11.0
Current database path: /home/username/.cache/vscode-cpptools/72eeda4a81e2b8934c4f4a61f7642951/.browse.VC.db
Translation Unit Mappings:
[ /path/to/foldersrc/send_packets.c - source TU]:
    /path/to/folderinclude/send_packets.h
[ /path/to/foldersrc/stun.c - source TU]:
    /path/to/folderinclude/stun.h
Translation Unit Configurations:
[ /path/to/foldersrc/send_packets.c ]
    Process ID: 2784273
    Memory Usage: 48 MB
    Compiler Path: /usr/bin/clang
    Includes:
        /path/to/folderinclude
    System Includes:
        /usr/local/include
        /usr/lib/llvm-10/lib/clang/10.0.0/include
        /usr/include/x86_64-linux-gnu
        /usr/include
    Standard Version: c17
    IntelliSense Mode: linux-clang-x64
    Other Flags:
        --clang
        --clang_version=100000
[ /path/to/foldersrc/stun.c ]
    Process ID: 2785321
    Memory Usage: 39 MB
    Compiler Path: /usr/bin/clang
    Includes:
        /path/to/folderinclude
    System Includes:
        /usr/local/include
        /usr/lib/llvm-10/lib/clang/10.0.0/include
        /usr/include/x86_64-linux-gnu
        /usr/include
    Standard Version: c17
    IntelliSense Mode: linux-clang-x64
    Other Flags:
        --clang
        --clang_version=100000
Total Memory Usage: 87 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 6421
Number of files parsed: 983
Other Extensions

No response

Additional context

No response

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

No se indican archivos del repositorio ni pruebas. Empieza reproduciendo la jerarquía de llamadas a partir de una función C o C++ utilizada como puntero a función para la creación de hilos y, después, sigue la implementación de la jerarquía de llamadas en la extensión. Se considera completado cuando las referencias alcanzadas a través del puntero a función aparecen en la jerarquía y una prueba de regresión cubre el caso.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp, typescript, vscode
Área
developer-experience, tooling
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.