Cygwin EMacs GDB无法调试NASM-64源

时间:2018-02-20 20:41:45

标签: emacs gdb cygwin nasm

我有一个64位NASM exe作为控制台应用程序编写。我想在Cygwin下的Emacs中使用gdb调试它。我使用以下命令字符串编译和汇编:

nasm -f elf64 Prime_Number_EXE.asm 
gcc -g -l cygwin Prime_Number_EXE.o -o Prime_Number_EXE.exe

编译和链接后,我转到cygwin并启动emacs。我打开nasm源文件。然后我启动gdb并切换到gdb-many-windows模式。但源窗口中显示的源文件不是我的nasm代码;它是Cygwin插入的特殊C程序

/* libcmain.c
This file is part of Cygwin.
/* Allow apps which don't have a main to work, as long as they define WinMain */

所以它没有显示nasm源代码,当我单步执行它时,它不会停止在nasm源代码中的任何断点处。

我该如何解决这个问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

elf64不是COFF的windows / cygwin程序的结构, 你无法在Windows上运行elf64。

您正在查看添加到所有程序中的STUB gcc。 对于你想要做的事情,你需要一个Unix / Linux系统或 改为COFF结构。