亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 13592 | 回復: 10
打印 上一主題 下一主題

我輸入了“step”,gdb不會進入函數內部去調試 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-06-19 22:10 |只看該作者 |倒序瀏覽
I typed "step", but gdb did not step into the specified function.
我輸入了“step”,gdb不會進入函數內部去調試
the code is:


  1. #include "file.h"
  2. #include "WordAnalyze.h"
  3. #include "OperatorPriorAnalyze.h"
  4. #include <cstring>
  5. #include <iostream>

  6. using namespace std;

  7. int main(int argc, char** argv) {
  8.   unsigned int size;
  9.   char *mem;
  10.   char* line;
  11.   char tc[100];
  12.   file f1;
  13.   OperatorPriorAnalyze operator_analyze;
  14.   WordAnalyze w1;
  15.   size = f1.readfile("./test.txt", &mem );
  16.   w1.setSource(mem);
  17.   w1.setSize(size);
  18.   while( !w1.atEnd() ){
  19. unsigned int i = w1.getLineSize();
  20. line = w1.getLine(); //gdb能進入getLine()函數內部
  21. operator_analyze.setSize(i); //但gdb不會進入getSize()內部
  22. operator_analyze.setSource(line); //同樣不會進入
  23. unsigned int k = 0;
  24. while(k<i){
  25. tc[k] = line[k];
  26. k++;
  27. }
  28. tc[k] = '\0';
  29. cout<< tc;
  30.   operator_analyze.restart();
  31. if(operator_analyze.Judge() == 0 )
  32. cout<< "Right!" << endl;
  33. else
  34. cout<< "Wrong! " << operator_analyze.getError() << endl;
  35. delete line;
  36.   }
  37.   return 0;
  38. }
復制代碼
鍵入“step”,好像gdb不會進入 "operator_analyze"類內部的函數,能進入其它的函數。
Can anyone explain to me?
Thanks !

論壇徽章:
0
2 [報告]
發(fā)表于 2010-06-20 11:19 |只看該作者
編譯的時候需要加上-g 選項..

論壇徽章:
0
3 [報告]
發(fā)表于 2010-06-20 12:28 |只看該作者
沒細看你的代碼,應為不知道你要干什么。

另外你可以按照樓上的試看,-g選項生成調試信息。

論壇徽章:
0
4 [報告]
發(fā)表于 2010-06-20 14:33 |只看該作者
所有的源文件都加了-g選項,如果是鍵入“stepi”,能進入函數,但健入“step”和鍵入“next”的效果一樣,僅僅是執(zhí)行并跳過函數,而不會進入函數體內,為什么?

論壇徽章:
0
5 [報告]
發(fā)表于 2010-06-20 14:37 |只看該作者
operator_analyze.setSize(i);
這個函數的實現呢?-g了沒有?

論壇徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
6 [報告]
發(fā)表于 2010-06-20 18:52 |只看該作者
-g -O0

論壇徽章:
1
雙子座
日期:2015-01-04 14:25:06
7 [報告]
發(fā)表于 2010-06-21 17:24 |只看該作者
I typed "step", but gdb did not step into the specified function.
我輸入了“step”,gdb不會進入函數 ...
915086731 發(fā)表于 2010-06-19 22:10

OperatorPriorAnalyze是別的庫里的?

論壇徽章:
0
8 [報告]
發(fā)表于 2010-06-21 23:15 |只看該作者
沒有調試信息的函數默認不跟進,可以設置 set step-mode on 強插進去

論壇徽章:
0
9 [報告]
發(fā)表于 2010-06-22 02:33 |只看該作者
沒有調試信息可以用匯編調試,就能跟進去了。用命令stepi 或者 si

論壇徽章:
0
10 [報告]
發(fā)表于 2010-06-22 09:59 |只看該作者
step進入函數,這是肯定的,不能進入肯定是自身原因。。。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP