microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Outline for C is wrong.

XuanofXXX opened this issue · comments

Environment

  • OS and Version: macOS 14.4.1 (23E224)
  • VS Code Version: 1.88.1
  • C/C++ Extension Version: 1.19.9
  • If using SSH remote, specify OS of remote machine: Ubuntu 22.04.4 LTS (Jammy Jellyfish

Bug Summary and Steps to Reproduce

Bug Summary:
When I click mm_free function, it jumps to find_fit function, with a wrong function tag above.
overview
wrong_function_tag_above

Configuration and Logs

no c_cpp_properties.json

Other Extensions

These are the extensions I enabled:
image
image

Additional context

No response

@XuanofXXX Can you provide a screenshot of the code the defines mm_free? The source of the problem could be there.

Not only does the mm_free function exhibit this bug, but almost all functions are experiencing incorrect jumps.
Here is the screenshot of the mm_free:
image

@XuanofXXX If you set C_Cpp.loggingLevel to "Debug", what do you see in you make an edit to mm.c, such as renaming mm_free to mm_free2? Do you see a "tag parsing" message? Are there any error messages? Does the Outline update with the new name, and is the position still wrong?

Otherwise, does doing a Reset IntelliSense Database fix the issue?

It seems like the database has wrong positions for the symbols for some reason.

BTW, the definition of mm_free seems okay, nothing unusual.

After resetting the IntelliSense database, the issue was resolved. Renaming mm_free also helped, but there's still a 3-second delay. Is it normal?

@XuanofXXX Yeah, your database must have been either outdated or "corrupt" -- it's possible the cause of the corruption might have been fixed in 1.20.2. A 3-second symbol update delay is normal.