Search This Blog

Monday, March 27, 2023

Debugging C++ , with VSCode & GDB command ( improve loading performance tip for heavy projects)

 Its all about symbols that loaded into memory in the debug process.

 With VScode could takes time just to get into your breakpoint, on huge c++ project , with many so files and dependencies. 
sometimes moving with F10 takes time , and looks like vscode screen is freezing.
to fix this issue and get much better vscode debug performance follow the next steps:
add to launch.json file as follow the next section, make sure in the exceptionList you have your brand so file .
the section below prevent loading extra symbols that you don't need to debug.
you can add many so file is the exceptionList separated by semicolon "tttt.so;yyy.so"

"symbolLoadInfo": {
                "loadAll": false,
                "exceptionList": "libMyShared.so"
            },  

The next tip with VScode - make sure to close the Local list in the VARIABLES group

GDB 

to work with gdb command line make sure all the symbolic will not loaded , the default is ON.

the next parameter control such behavior

in gdb type 'set auto-solib-add off' - disabled loading any symbolic files.


you can start your program 

and when your SO files loaded , you can CTRL-C 

and use the share command to load your so symbolic file.

share /path/mysofile.so 


option 2 : put in your program the next line 

__asm__ volatile("int $0x03");


its will break into your gdb and use share command to load your symbolic .




enjoy 

Yaniv Tzanany

No comments: