使用 Qemu 在 Ubuntu 上进行 Visual Studio Professional 远程调试 Arm64 程序

问题描述

是否可以使用运行在 Windows 上的 Visual Studio Professional 进行远程调试,使用 qemu-aarch64 在 Linux x86 Ubuntu 上运行交叉编译的 arm64 程序?

使用 Visual Studio 直接在 Linux 上编译 x86 程序和调试效果很好。我也能够编译 arm64 程序,但我无法从 Visual Studio 附加调试器。

目前我尝试编译的示例代码

#include <stdio.h>

int main(void){
    int i = 10;
    printf("Helo,I'm executinr ARM64 %d.\n",i);
    return 0;
}

我使用命令编译它:

aarch64-linux-gnu-gcc -fno-pie -ggdb3 -no-pie -o hello hello.c

在 Visual Studio 中,我不得不将编译器更改为:aarch64-linux-gnu-gcc 并且编译运行良好。

为了调试,我使用命令(本地来自 Ubuntu):

qemu-aarch64 -L /usr/aarch64-linux-gnu -g 1238 ./hello

gdb-multiarch -q --nh -ex 'set architecture arm64' -ex 'file hello' -ex 'target remote localhost:1238' -ex 'layout split' -ex 'layout regs'

是否可以以某种方式调整系统以从 Visual Studio Professional 执行调试?

我尝试了许多不同的选择,但没有一个奏效。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)