如何在 MINGW64 中使用 GDB 调试共享对象库中的函数?

问题描述 投票:0回答:1

我正在尝试重建如何使用GDB调试共享对象库中的函数?答案https://stackoverflow.com/a/59690953/6197439在MINGW64 gdb中 - 我不能:

$ cat add.c
long add(long x, long y) {
    return x + y;
}

$ gcc -shared -o libadd.so -fPIC add.c

$ gdb
GNU gdb (GDB) 13.2
...

(gdb) file libadd.so
Reading symbols from libadd.so...

(gdb) starti
Starting program: C:\msys64\tmp\libadd.so
Error creating process C:\msys64\tmp\libadd.so, (error 193: unknown win32 error (193))

那么,我该如何在像这样的 .so 文件中调用 MINGW64

gdb
中的函数,用 MINGW64
gcc
编译?

c gdb mingw-w64 msys2
1个回答
0
投票

MINGW64 gdb - 我不能:

你的问题是不是你不能设置断点;您的问题是您正在尝试运行一个

.so
文件。

您需要一个实际的可执行文件(这取决于您的

.so
或动态加载它)。

赞成的答案错误其他答案是正确的。

© www.soinside.com 2019 - 2024. All rights reserved.