Skip to content

Not Recognizing Used Code as Used Code Or Not Debugging Unused Code #13933

@Krabbenhoft

Description

@Krabbenhoft

Environment

  • OS and Version: Windows 11 Pro 23H2
  • VS Code Version: 1.104.0
  • C/C++ Extension Version: 1.26.5

Bug Summary and Steps to Reproduce

Bug Summary:

Steps to reproduce:
1.
Image
Create a class with this these preprocessor commands.

Image

Create a definition with these preprocessor commands. The extension doesn't debug due to thinking falsely that the code is unused.

Expected behavior:
It should properly recognize that the code is used and debug it or at least debug it despite thinking it is unused.

Configuration and Logs

Config:
{
    // Geral Config 
    "window.menuBarVisibility": "toggle",

    
    // Workbench Config 
    // "workbench.iconTheme": "symbols",
    // "window.zoomLevel": 1,
    // "workbench.startupEditor": "newUntitledFile",
    // "workbench.list.smoothScrolling": true,
    // "workbench.activityBar.location": "hidden", // comment if you want to hide activity bar
    
    
    // Symbol Config
    "symbols.hidesExplorerArrows": false,
    
    
    // Terminal Config
    "breadcrumbs.enabled": false,


    // Editor Config
    "editor.inlineSuggest.enabled": true,
    "editor.fontFamily": "JetBrains Mono",
    "editor.lineHeight": 1.8,
    "editor.fontWeight": "normal",
    "editor.renderLineHighlight": "gutter",
    "editor.fontLigatures": true,
    "editor.semanticHighlighting.enabled": false,
    "editor.minimap.autohide": "mouseover",
    "editor.scrollbar.horizontal": "hidden",
    "editor.scrollbar.vertical": "hidden",
    // "editor.rulers": [80, 120], // uncomment if you want to add rulers in your editor
    
    
    // Explore File Config
    "explorer.compactFolders": false,
    "explorer.fileNesting.enabled": true,
    "explorer.fileNesting.patterns": {
    "package.json": ".eslint*, .prettier*, tsconfig*, vite*, pnpm-lock*, bun.lockb, nest*, .yarn*, yarn.lock",
    "tailwind.config.js": "tailwind.config*, postcss.config*",
    "next.config.js": "next*",
    ".env.local": ".env*",
    ".env": ".env*"
    },
    "editor.fontSize": 15,

    
    // APC Pluggin Config
    // "apc.font.family": "JetBrains Mono", // uncomment if you want to use custom font
    "apc.header": {
      "height": 36,
    },
    "apc.listRow": {
      "height": 24
    },
    "apc.stylesheet": {
      ".title-label > h2": "display: none",
      ".editor-actions": "display: none",
      ".pane-body": "padding: 5px"
    },

    
    // Terminal Config
    "terminal.integrated.fontSize": 14,
    "terminal.integrated.fontFamily": "JetBrainsMono Nerd Font",
    "terminal.external.windowsExec": "wt",
    "workbench.colorTheme": "JetBrains Darcula Theme",
    "makefile.configureOnOpen": true,
    "git.openRepositoryInParentFolders": "never",
    "workbench.editor.empty.hint": "hidden",

    //Greyed out code
    //"C_Cpp.dimInactiveRegions": false

}
Build logs:
------------------------------------------------------------------------------
You may only use the C/C++ Extension for Visual Studio Code with Visual Studio
Code, Visual Studio or Visual Studio for Mac software to help you develop and
test your applications.
------------------------------------------------------------------------------
main.exe (15376): Loaded 'C:\Users\Isaac Krabbenhoft\recreate\main.exe'. Symbols loaded.
main.exe (15376): Loaded 'C:\Windows\System32\ntdll.dll'. 
main.exe (15376): Loaded 'C:\Windows\System32\kernel32.dll'. 
main.exe (15376): Loaded 'C:\Windows\System32\KernelBase.dll'. 
main.exe (15376): Loaded 'C:\Windows\System32\kernel.appcore.dll'. 
main.exe (15376): Loaded 'C:\Windows\System32\msvcrt.dll'. 
The program '[15376] main.exe' has exited with code 0 (0x0).
C/C++ Diagnostics:
-------- Diagnostics - 9/13/2025, 11:05:16 AM
Version: 1.26.5
Current Configuration:
{
    "name": "Win32",
    "includePath": [
        "c:/Users/Isaac Krabbenhoft/C315/lab06/**",
        "c:/Users/Isaac Krabbenhoft/C315/lab06/../doctest/"
    ],
    "defines": [
        "_DEBUG",
        "UNICODE",
        "_UNICODE"
    ],
    "windowsSdkVersion": "10.0.26100.0",
    "compilerPath": "cl.exe",
    "cStandard": "c17",
    "cppStandard": "c++17",
    "intelliSenseMode": "windows-msvc-x64",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "recursiveIncludesReduceIsExplicit": false,
    "recursiveIncludesPriorityIsExplicit": false,
    "recursiveIncludesOrderIsExplicit": false,
    "compilerPathInCppPropertiesJson": "cl.exe",
    "mergeConfigurations": false,
    "recursiveIncludes": {},
    "browse": {
        "limitSymbolsToIncludedHeaders": true
    }
}
Additional Tracked Settings:
{
    "editorTabSize": 4,
    "editorInsertSpaces": true,
    "editorAutoClosingBrackets": "languageDefined",
    "filesEncoding": "utf8",
    "filesAssociations": {
        "algorithm": "cpp",
        "atomic": "cpp",
        "bit": "cpp",
        "cctype": "cpp",
        "charconv": "cpp",
        "clocale": "cpp",
        "cmath": "cpp",
        "compare": "cpp",
        "concepts": "cpp",
        "csignal": "cpp",
        "cstddef": "cpp",
        "cstdint": "cpp",
        "cstdio": "cpp",
        "cstdlib": "cpp",
        "cstring": "cpp",
        "ctime": "cpp",
        "cwchar": "cpp",
        "exception": "cpp",
        "format": "cpp",
        "fstream": "cpp",
        "initializer_list": "cpp",
        "iomanip": "cpp",
        "ios": "cpp",
        "iosfwd": "cpp",
        "iostream": "cpp",
        "istream": "cpp",
        "iterator": "cpp",
        "limits": "cpp",
        "list": "cpp",
        "locale": "cpp",
        "map": "cpp",
        "memory": "cpp",
        "mutex": "cpp",
        "new": "cpp",
        "optional": "cpp",
        "ostream": "cpp",
        "random": "cpp",
        "ratio": "cpp",
        "set": "cpp",
        "sstream": "cpp",
        "stdexcept": "cpp",
        "stop_token": "cpp",
        "streambuf": "cpp",
        "string": "cpp",
        "system_error": "cpp",
        "thread": "cpp",
        "tuple": "cpp",
        "type_traits": "cpp",
        "typeinfo": "cpp",
        "unordered_set": "cpp",
        "utility": "cpp",
        "vector": "cpp",
        "xfacet": "cpp",
        "xhash": "cpp",
        "xiosbase": "cpp",
        "xlocale": "cpp",
        "xlocbuf": "cpp",
        "xlocinfo": "cpp",
        "xlocmes": "cpp",
        "xlocmon": "cpp",
        "xlocnum": "cpp",
        "xloctime": "cpp",
        "xmemory": "cpp",
        "xstring": "cpp",
        "xtr1common": "cpp",
        "xtree": "cpp",
        "xutility": "cpp"
    },
    "filesExclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
    "filesAutoSaveAfterDelay": false,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.26.4.0
Current database path: C:\USERS\ISAAC KRABBENHOFT\APPDATA\LOCAL\MICROSOFT\VSCODE-CPPTOOLS\94648832C3E68CE4EB4240514780D492\.BROWSE.VC.DB
Translation Unit Mappings:
[ C:\Users\Isaac Krabbenhoft\C315\lab06\src\Array.cpp - source TU]:
[ C:\Users\Isaac Krabbenhoft\C315\lab06\src\main.cpp - source TU]:
    C:\Users\Isaac Krabbenhoft\C315\lab06\src\Array.hpp
    C:\Users\Isaac Krabbenhoft\C315\lab06\src\static.hpp
[ C:\Users\Isaac Krabbenhoft\C315\lab06\test\constructor-test.cpp - source TU]:
Translation Unit Configurations:
[ C:\Users\Isaac Krabbenhoft\C315\lab06\src\Array.cpp ]
    Process ID: 13696
    Memory Usage: 59 MB
    Compiler Path: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\cl.exe
    Include paths:
        include: C:\Users\Isaac Krabbenhoft\C315\doctest
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\atlmfc\include
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
    Defines:
        _DEBUG
        UNICODE
        _UNICODE
    Standard Version: ms_c++17
    IntelliSense Mode: windows-msvc-x64
    Other Flags:
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\ATLMFC\lib\x64
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\x64
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\x86\store\references
        --using_directory
        C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.26100.0
        --using_directory
        C:\Program Files (x86)\Windows Kits\10\References\10.0.26100.0
        --using_directory
        C:\Windows\Microsoft.NET\Framework64\v4.0.30319
[ C:\Users\Isaac Krabbenhoft\C315\lab06\src\main.cpp ]
    Process ID: 12780
    Memory Usage: 170 MB
    Compiler Path: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\cl.exe
    Include paths:
        include: C:\Users\Isaac Krabbenhoft\C315\doctest
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\atlmfc\include
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
    Defines:
        _DEBUG
        UNICODE
        _UNICODE
    Standard Version: ms_c++17
    IntelliSense Mode: windows-msvc-x64
    Other Flags:
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\ATLMFC\lib\x64
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\x64
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\x86\store\references
        --using_directory
        C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.26100.0
        --using_directory
        C:\Program Files (x86)\Windows Kits\10\References\10.0.26100.0
        --using_directory
        C:\Windows\Microsoft.NET\Framework64\v4.0.30319
[ C:\Users\Isaac Krabbenhoft\C315\lab06\test\constructor-test.cpp ]
    Process ID: 6084
    Memory Usage: 274 MB
    Compiler Path: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\cl.exe
    Include paths:
        include: C:\Users\Isaac Krabbenhoft\C315\doctest
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\atlmfc\include
        include: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
        include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
        system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
        include (recursive): C:\Users\Isaac Krabbenhoft\C315\lab06\src
    Defines:
        _DEBUG
        UNICODE
        _UNICODE
    Standard Version: ms_c++17
    IntelliSense Mode: windows-msvc-x64
    Other Flags:
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\ATLMFC\lib\x64
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\x64
        --using_directory
        C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\x86\store\references
        --using_directory
        C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.26100.0
        --using_directory
        C:\Program Files (x86)\Windows Kits\10\References\10.0.26100.0
        --using_directory
        C:\Windows\Microsoft.NET\Framework64\v4.0.30319
Total Memory Usage: 504 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 5193

Other Extensions

No response

Additional context

Repository to recreate the bug.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions