cygwin gdb在emacs中创建stackdump

时间:2015-07-06 19:22:05

标签: c++ emacs gdb g++ cygwin

当我使用cygwin gdb调试一个简单的hello world程序时,它运行正常,但是当我使用emacs(对于windows)使用参数调试它时:

3 [main] gdb 6576 cygwin_exception::open_stackdumpfile: Dumping stack trace to gdb.exe.stackdump

它出现以下错误:

Exception: STATUS_ACCESS_VIOLATION at rip=00100427142
rax=00000006002CA300 rbx=0000000000000000 rcx=00000001801E5DA0
rdx=0000000000C3CE00 rsi=000000000000152C rdi=000000010092E770
r8 =0000000000000540 r9 =00000006002CA2F0 r10=0000000000C40000
r11=0000000100635B1C r12=0000000600244060 r13=00000000FFFFFFFF
r14=0000000000C38180 r15=00000000FFFFFFFF
rbp=000000000000152C rsp=0000000000C37F60
program=c:\cygwin64\bin\gdb.exe, pid 6576, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B

gdb.exe.stackdump的内容:

gdb test.exe

如果我只是简单地调试:

Error: you did not specify -i=mi on GDB's command line!

它在cygwin终端中运行良好,但在emacs中它说:

<Import Project="ListA.prop" Condition="$(Name) == 'A'" />
<Import Project="ListB.prop" Condition="$(Name) == 'B'" />

<Message Text="@(Values)" />

任何人都可以给我一个解决方法吗?我只想在Windows上的emacs中使用gdb调试c ++文件。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,然后我按照以下指南解决了这个问题:

如果您使用emacs x64

,请使用gcc,gdb x64

如果您使用emacs x32

,请使用gcc,gdb x32