我一直在用gcode使用XCode或Eclipse來輸入輸入信息。每當調試器擊中std::cin
時,它看起來像在等待輸入,但未能接受它。我在互聯網上搜索了更多信息,但無法找到任何東西。無法用gdb輸入輸入。幫幫我!
我需要做些什麼才能讓cin
與gdb一起使用?作爲參考,我使用XCode 3.2.2和Eclipse Galileo。
謝謝!
-Carlos Nunez
我一直在用gcode使用XCode或Eclipse來輸入輸入信息。每當調試器擊中std::cin
時,它看起來像在等待輸入,但未能接受它。我在互聯網上搜索了更多信息,但無法找到任何東西。無法用gdb輸入輸入。幫幫我!
我需要做些什麼才能讓cin
與gdb一起使用?作爲參考,我使用XCode 3.2.2和Eclipse Galileo。
謝謝!
-Carlos Nunez
我想在GCC中存在一個與使用std :: cin和設置/取消設置斷點有關的錯誤。我做了一個小例子:
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
string option = "x";
while (option != "q")
{
cout << endl
<< "0 = Stop" << endl
<< "1 = Play" << endl
<< "q = Quit" << endl;
getline(cin, option);
cout << "You choosed " << option << endl;
}
}
此代碼工作完全直到您設置或激活一個斷點(至少使用Xcode包裝)。從那時起,stdin緩衝區被破壞,每個getline()都會檢索最後一個輸入,即使您不鍵入一個鍵,也會輸入一個無限循環。
我不知道該怎麼角落找尋它的工作... :-(
在Windows上用g ++和gdb完美工作 - 我可以設置斷點並仍然執行控制檯輸入。就像一個XCode問題 – 2010-05-02 14:07:38
不,我剛剛嘗試了XCode,單獨使用Mac Terminal,我得到了同樣的結果。也許問題與Apple DGB發行版有關: GNU gdb 6.3.50-20050815(Apple版本gdb-1346)(Fri Sep 18 18 20:40:51 UTC 2009) – Pasky 2010-05-02 14:50:07
什麼是你的GDB版本和環境? 它爲我在Cygwin與 GNU GDB 6.8.0.20080328-CVS(Cygwin的特殊) – 2010-04-20 07:04:56