为什么gdb在命令行工作正常时不能在eclipse中工作?

时间:2017-01-03 21:57:32

标签: c++ linux gdb eclipse-cdt

我使用eclipse创建并成功编译了Linux的C ++应用程序。当我从命令行调试它时,一切都很完美,我可以调试就好了。

但我需要在eclipse中调试,因为它更方便,更方便。我配置调试会话,当尝试启动它时,我收到错误:

library(gam)

#Identify numerical variables, but exclude the integer response.
numbers = sapply(mydata, class) %in% c("integer", "numeric")  
numbers[match("Response", names(mydata))] = FALSE 

#Identify factor variables.
factors = sapply(mydata, class) == "factor"

#Create a formula to feed into gam function.
myformula = paste0(paste0("Response ~ ", 
                          paste0("s(", names(mydata)[numbers], ", df=4)", collapse = " + ")
                          ),
                   " + ",
                   paste0(paste0(names(mydata)[factors], collapse = " + ")))

mygam = gam(as.formula(myformula), family = "binomial", mydata)

但是我不知道为什么我会收到这个错误,特别是因为当我从cmd执行它时gdb工作正常。

这些是我在eclipse中的c ++编译器标志:

Error in final launch sequence
Failed to execute MI command:
-exec-run
Error message from debugger back end:
Warning:\nCannot insert breakpoint 1.\nCannot access memory at address 0x1fff82e8\nCannot insert breakpoint 2.\nCannot access memory at address 0x80001ea4\n
Warning:\nCannot insert breakpoint 1.\nCannot access memory at address 0x1fff82e8\nCannot insert breakpoint 2.\nCannot access memory at address 0x80001ea4\n

在创建项目时,我选择了" Hello world C ++ Project"和#34; Linux GCC"作为工具链。

我正在使用以下版本的GDB和Eclipse:

  • Eclipse Neon.1a版本(4.6.1)
  • GNU gdb(Ubuntu 7.11.1-0ubuntu1~16.04)7.11.1

1 个答案:

答案 0 :(得分:3)

我可以重现此问题的唯一方法是启用地址断点。就我而言,这是CDT中的一个错误,但同时作为一种解决方法从断点视图中删除或禁用任何地址断点。

我已提交Bug 509894来跟踪CDT中的问题。