Debug Xv6 Kernel with GDB, QEMU and VScode
Debug Xv6 Kernel with GDB, QEMU and VScode
The launch.json is as follows:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++: gcc 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "miDebuggerPath": "/usr/bin/gdb-multiarch",
            "miDebuggerServerAddress": "127.0.0.1:25000",
            "program": "/root/xv6-labs-2021/kernel/kernel",
            "args": [],
            "stopAtEntry": false,
            "cwd": "/root/xv6-labs-2021",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                },
            ],
        }
    ]
}
- Run make CPUS=1 qemu-gdbin a seperate shell terminal.
- Modify .gdbinitgenerated in the xv6 root directory. Comment outtarget remote 127.0.0.1:25000. Remaining contents are
set confirm off
set architecture riscv:rv64
symbol-file kernel/kernel
set disassemble-next-line auto
set riscv use-compressed-breakpoints yes
- Press F5in vscode andenjoydebugging!
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号