如何在emacs中配置预定义的gdb会话(带有大量参数的gdb)

如何在emacs中配置预定义的gdb会话(带有大量参数的gdb),emacs,gdb,Emacs,Gdb,我正在使用gdb,并尝试将emacs用于调试会话(我是emacs新手)。现在我有很多参数是用gdb运行的,所以我创建了一个脚本来运行它(这是我的脚本) 如何像所有其他高级IDE一样预定义gdb会话?在vscode中有launch.json文件,在eclipse中可以打开gdb会话并在那里定义所有参数,在visual studio中还可以定义所需的参数一次,然后只运行/重新运行调试器。如何在emacs中执行相同的操作 如果在emacs中没有执行上述操作的选项,我如何在emacs中反复运行所有参数

我正在使用gdb,并尝试将emacs用于调试会话(我是emacs新手)。现在我有很多参数是用gdb运行的,所以我创建了一个脚本来运行它(这是我的脚本)

  • 如何像所有其他高级IDE一样预定义gdb会话?在vscode中有launch.json文件,在eclipse中可以打开gdb会话并在那里定义所有参数,在visual studio中还可以定义所需的参数一次,然后只运行/重新运行调试器。如何在emacs中执行相同的操作

  • 如果在emacs中没有执行上述操作的选项,我如何在emacs中反复运行所有参数?当试图从emacs中的shell缓冲区运行脚本时,它只是向我显示gdb终端,我什么都做不了,并且没有显示emacs中的gdb支持


  • 一种可能是将命令放在一个
    .gdbinit
    文件中,从该文件开始gdb。然后在主目录中的
    .gdbinit
    文件中添加
    add auto-load-safe-path-path\u和\u-other\u-gdbinit\u文件
    。通过这种方式,您可以简单地启动gdb,并且所有必要的参数都已经从
    .gdbinit
    文件中设置好了。
    #!/bin/bash
    file_loc=`readlink -f $0`
    repo_loc="$(dirname $file_loc)"
    echo $repo_loc
    gdb --args $repo_loc/build/qemu-system-x86_64 \
        -no-kvm \
        -kernel $repo_loc/linux-5.8.5/arch/x86/boot/bzImage \
        -boot c -m 2049M \
        -hda $repo_loc/buildroot-2020.02.6/output/images/rootfs.ext4 \
        -append "root=/dev/sda rw console=ttyS0,115200 acpi=off nokaslr" \
        -serial stdio -display none \
        -virtfs local,path=$repo_loc/shared,mount_tag=host0,security_model=passthrough,id=host0 \
        -device edu