gpt4 book ai didi

c++ - 使用 MinGW : Failed to execute MI command 进行 Eclipse 调试

转载 作者:可可西里 更新时间:2023-11-01 18:00:12 24 4
gpt4 key购买 nike

我新安装了 Eclipse Juno 32 位,并新安装了 MinGW 32 位,我的平台是 Windows 7 64 位。当尝试调试一个简单的程序时,我可以看到非常简单的表达式,但任何更复杂的东西都会让我出错。对于以下程序中的示例:

int main()
{
vector<int> vRings;
for(int i=0;i<50;i++) {
vRings.push_back(i%5);
}
//std::cout << "result:" << getRingNumber(vRings,vDiscs);
return 0;
}

在watch窗口中,watching vRings正常,但是试图watch vector的内容却不行:

尝试观看 vRings[0]:

Error: Multiple errors reported.\ Failed to execute MI command: -var-create - * vRings[0] Error message from debugger back end: Could not find operator[].\ Unable to create variable object

尝试观看 vRings.at(0):

vRings.at(0) Error: Multiple errors reported.\ Failed to execute MI command: -var-create - * vRings.at(0) Error message from debugger back end: Cannot evaluate function -- may be inlined\ Unable to create variable object

我能做些什么来解决这个问题?

最佳答案

您正在尝试查看函数调用的结果。vRings.at()vRings[] 都是返回值引用的函数(后者是重载函数)。在你的例子中 - 一个整数。

如果你想在索引 0 处观察 vRings 的值,你可以尝试在某个点将它分配给一个变量,例如:

int main()
{
vector<int> vRings;
for(int i=0;i<50;i++) {
vRings.push_back(i%5);
}
int watchme = vRings.at(0);
//std::cout << "result:" << getRingNumber(vRings,vDiscs);
return 0;
}

然后就可以监视变量watchme了。

关于c++ - 使用 MinGW : Failed to execute MI command 进行 Eclipse 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14437467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com