青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

阿攀的博客

海闊天空

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  5 隨筆 :: 2 文章 :: 11 評論 :: 0 Trackbacks
     最近接受一個項目,因環境受限,無法進行對其代碼調試。發生問題時,只能通過log內容分析原因。由于無法調試,函數間的調用關系只能通過查看源代碼得知,比較痛苦。由于源代碼中每個函數都增加了log,遂萌發通過log自動分析函數間的調用關系,現已實現,和感興趣的朋友分享下,但愿對其有幫助。
    記錄log的內容是:
   
 1 class CPLog
 2 {
 3 public:
 4     CPLog(char *szFileName, char *szFunctionName, UINT32 uLine)
 5     {
 6         m_pFileName = szFileName;
 7         m_pFunctionName = szFunctionName;
 8         static long nID = 1;
 9 
10         m_nid = InterlockedIncrement(&nID);
11 
12         //write_log就不實現了,把這行日志寫到文件中
13         write_log(( "ThreadID:%d +[S:%d]EnterFunc:%s +Line:%d"
14                      GetCurrentThreadId(), 
15                      m_nid,
16                      m_pFunctionName,
17                      uLine));
18     }
19     ~CPLog()
20     {
21         write_log(( "ThreadID:%d +[E:%d]LeaveFunc:%s "
22                      GetCurrentThreadId(), 
23                      m_nid,
24                      m_pFunctionName)));
25     }
26 private:
27     char *m_pFileName;
28     char *m_pFunctionName;
29     long m_nid;
30 };
31 
32 #define CP_LOG_FUNCTION(filename, funcname, lines)  \
33     CPLog mylogFunctionName(filename, funcname, lines)
    然后在每個函數入口的地方加上這句:
  
CP_LOG_FUNCTION(__FILE__, __FUNCTION__, __LINE__);
   最后,把log文件通過這個python腳本文件(在這里不講解了,自己看源代碼吧)分析,即可
     funcstack.rar
  效果是這樣的:(看法,從左到右,從上到下,如果存在函數調用沒有結束也會有信息輸出)
main---->CShell::onInitCompleted---->CShell::stopInitializationWorker---->CShellAsyncTask::~CShellAsyncTask
                                            
---->CShell::writeUnitIdToHdd---->CShell::getHDDPath
                                                                                     
---->CAppManager::writeUnitIdToSdCard---->get_os_version
                                                                                                                                             
---->GetFileVersion
                                                                                                                                            
---->CShell::ShellIniSettings
*****************************************
There are 2 function not end and function stack is:
CShell::onInitCompleted, line:159
main, line:23
*****************************************


   
 注:轉發請注明來源,謝謝!
 微博:http://weibo.com/caipan1984

posted on 2011-11-12 21:10 阿攀 閱讀(2551) 評論(2)  編輯 收藏 引用

評論

# re: 根據日志內容分析函數調用堆棧(function stack) 2011-11-12 21:49 huzfei
頂,記日志的流行做法!  回復  更多評論
  

# re: 根據日志內容分析函數調用堆棧(function stack) 2011-11-13 10:40 阿攀
@huzfei
Thank you to support!  回復  更多評論
  


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品看片| 尤物在线观看一区| 亚洲午夜伦理| 亚洲一区二区精品在线| 欧美性猛交xxxx乱大交蜜桃| 亚洲性感激情| 午夜精品福利一区二区蜜股av| 国产精品网站在线播放| 欧美在线网址| 久久综合九色| 中日韩男男gay无套| 这里只有精品丝袜| 激情成人亚洲| 亚洲欧洲精品一区二区精品久久久| 免费不卡中文字幕视频| 99精品视频免费全部在线| 中文久久乱码一区二区| 国产日韩欧美综合精品| 欧美成人官网二区| 国产精品成人国产乱一区| 久久久在线视频| 欧美经典一区二区| 久久成人18免费观看| 老司机午夜精品视频| 亚洲自拍另类| 久久性色av| 亚洲综合日韩在线| 久久人体大胆视频| 宅男精品视频| 久久综合伊人77777麻豆| 亚洲午夜影视影院在线观看| 欧美在线亚洲在线| 中日韩在线视频| 久久久久久亚洲精品杨幂换脸 | 久久精品亚洲| 一区二区三区精品国产| 先锋资源久久| 一区二区三区成人| 蜜桃久久av| 久久精品日产第一区二区| 欧美男人的天堂| 欧美成人蜜桃| 国产午夜精品全部视频在线播放| 亚洲国产综合在线| 狠狠色狠狠色综合日日tαg| 亚洲欧洲精品一区二区三区波多野1战4 | 麻豆成人在线观看| 欧美精品色综合| 欧美国产日韩一区二区在线观看| 国产精品美女久久久久久免费| 亚洲电影免费在线观看| 国内精品久久久久久久影视蜜臀 | 国产精品成人午夜| 亚洲精品国产精品国产自| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲免费视频在线观看| 一区二区三区成人精品| 欧美国产日本| 亚洲人人精品| 亚洲美女性视频| 欧美成人免费全部| 亚洲国产va精品久久久不卡综合| 伊人精品久久久久7777| 久久成年人视频| 久久久久女教师免费一区| 国产欧美精品日韩精品| 午夜日韩在线| 久久精品青青大伊人av| 国产综合第一页| 久久久久久久97| 免费在线国产精品| 在线精品一区| 欧美18av| 日韩视频在线一区| 亚洲一区二区三区在线播放| 欧美日韩免费高清一区色橹橹| 亚洲日本中文字幕区| 日韩视频国产视频| 欧美日一区二区三区在线观看国产免| 亚洲日本欧美日韩高观看| 一本一本久久a久久精品综合麻豆| 欧美大色视频| 日韩亚洲精品在线| 欧美有码在线观看视频| 国内精品99| 麻豆精品精华液| 亚洲精品免费看| 性亚洲最疯狂xxxx高清| 好看的日韩视频| 免费日韩av| 中文国产成人精品久久一| 久久9热精品视频| 亚洲国产aⅴ天堂久久| 欧美日韩亚洲天堂| 校园春色综合网| 亚洲高清毛片| 久久av在线| 亚洲黄色天堂| 国产精品国产a级| 久久精品成人一区二区三区蜜臀 | 欧美福利专区| 亚洲欧美日韩国产中文| 国产在线观看一区| 欧美激情亚洲综合一区| 午夜精品三级视频福利| 欧美福利视频| 欧美一区二区视频网站| 在线精品亚洲| 国产欧美一二三区| 欧美国产日产韩国视频| 午夜一区不卡| 亚洲区中文字幕| 玖玖玖国产精品| 欧美一区二区成人| 亚洲伦理在线观看| 国内成人自拍视频| 国产精品久久久久77777| 久久嫩草精品久久久精品一| 一二三区精品| 亚洲国产一区在线观看| 久久久久久电影| 欧美一级网站| 亚洲午夜久久久久久久久电影院 | 亚洲一区精品电影| 亚洲精品欧美激情| 一区二区三区在线高清| 国产精品青草久久| 欧美日韩国产专区| 欧美成人免费va影院高清| 久久精品视频一| 午夜精品久久久久久久99水蜜桃| 亚洲精品美女在线观看| 欧美国内亚洲| 欧美成人情趣视频| 久久综合婷婷| 蜜桃久久精品乱码一区二区| 久久不见久久见免费视频1| 亚洲欧美日本国产有色| 亚洲婷婷免费| 亚洲欧美久久久| 亚洲欧美国产高清va在线播| 亚洲视频中文字幕| 亚洲小视频在线观看| 日韩一级免费观看| 宅男噜噜噜66国产日韩在线观看| 日韩午夜免费| 亚洲视频第一页| 亚洲午夜精品| 欧美一区二区三区在线观看| 午夜精品影院| 欧美影片第一页| 久久精品国产综合| 噜噜爱69成人精品| 亚洲丰满在线| 99亚洲一区二区| 亚洲欧美不卡| 久久久久久久激情视频| 欧美va天堂在线| 欧美日韩精品在线视频| 欧美三日本三级三级在线播放| 国产精品av一区二区| 国产色综合网| 亚洲国产综合在线看不卡| 亚洲精品在线观| 午夜亚洲一区| 蜜桃av一区二区| 日韩系列在线| 久久国产精品久久久久久| 免费成人性网站| 欧美三级视频在线| 国内精品久久久久久 | 国产精品成人免费视频| 国产日韩欧美亚洲一区| 亚洲福利视频一区二区| 一本久久综合亚洲鲁鲁五月天| 亚洲自拍偷拍麻豆| 久久婷婷蜜乳一本欲蜜臀| 最新国产成人av网站网址麻豆| 亚洲调教视频在线观看| 久久夜色撩人精品| 国产精品高潮在线| 亚洲国产一区二区三区在线播 | 好吊视频一区二区三区四区 | 亚洲美女精品成人在线视频| 欧美亚洲在线观看| 亚洲激情电影在线| 欧美在线免费视频| 欧美日本亚洲视频| 亚洲二区在线视频| 午夜欧美不卡精品aaaaa| 欧美不卡福利| 香港久久久电影| 欧美日韩一区二区免费视频| 好吊成人免视频| 亚洲欧美日韩天堂| 91久久一区二区| 久久视频免费观看| 国产乱码精品一区二区三区五月婷| 亚洲国产mv| 久久综合激情|