• <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>
            隨筆 - 17  文章 - 48  trackbacks - 0
            <2012年9月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            常用鏈接

            留言簿(3)

            隨筆檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            用Lua也有大半年了,從用Lua開始就想寫個(gè)Lua調(diào)試器,不過由于種種原因沒寫,這周上班抽了點(diǎn)時(shí)間寫了(我承認(rèn)上班偷懶了,不過多是休息時(shí)間)。(點(diǎn)此下載

            Lua本身沒有提供調(diào)試器,不過它自帶了一個(gè)debug庫,提供了基本的變量值獲取和代碼執(zhí)行hook,有了這些基本功能要寫一個(gè)調(diào)試器不難。

            此調(diào)試器根據(jù)調(diào)試方式分為normal、step in、step over、next line四種mode,分別對(duì)應(yīng)斷點(diǎn)、步進(jìn)、跳出函數(shù)、執(zhí)行下行的功能。斷點(diǎn)類型分為行斷點(diǎn)和函數(shù)斷點(diǎn),分別在執(zhí)行到相應(yīng)行和相應(yīng)函數(shù)的時(shí)候斷下。在斷下的時(shí)候就可以打印和修改變量,通過建立一個(gè)新的chunk并將環(huán)境設(shè)置成相應(yīng)函數(shù)的環(huán)境,再執(zhí)行chunk來獲取和修改變量。

            因?yàn)槭敲钚械?,在命令行還沒有機(jī)會(huì)添加斷點(diǎn)的時(shí)候,要添加斷點(diǎn)就要通過debugger.addfuncbreak和debugger.addlinebreak來添加函數(shù)和行斷點(diǎn),通常Lua是用于C++的腳本語言,因此程序通常是有一個(gè)可以直接執(zhí)行Lua腳本指令的入口,這樣的入口就可以打下第一個(gè)斷點(diǎn),這樣在斷下斷點(diǎn)后就可以在命令提示符下做所有的操作了。

            代碼是上班抽時(shí)間寫的,寫的很隨意,也沒多少注釋,權(quán)當(dāng)玩具吧。目前的功能基本能滿足我的要求了,也不打算繼續(xù)改進(jìn)了。調(diào)試器是用來幫助找錯(cuò)誤,不要過分依賴調(diào)試器。Robert C. Martin說Debuggers are a wasteful Timesink。雖說有些偏激,但是不無道理。

            posted on 2011-01-01 01:44 airtrack 閱讀(4764) 評(píng)論(3)  編輯 收藏 引用

            FeedBack:
            # re: 簡(jiǎn)單的Lua命令行調(diào)試器 2011-01-02 22:27 expter
            我見云風(fēng)也寫過,可以集成到項(xiàng)目中調(diào)試不哦。  回復(fù)  更多評(píng)論
              
            # re: 簡(jiǎn)單的Lua命令行調(diào)試器 2011-01-03 01:32 airtrack
            @expter
            可以啊,這個(gè)調(diào)試器主要就是用來調(diào)試作為C++擴(kuò)展的Lua。  回復(fù)  更多評(píng)論
              
            # re: 簡(jiǎn)單的Lua命令行調(diào)試器 2011-01-06 17:44 true
            如果把luadebugger寫成VS的插件,估計(jì)可以賣錢了,我有這樣的想法,但也是沒有時(shí)間去實(shí)現(xiàn)  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            日日躁夜夜躁狠狠久久AV| 色8激情欧美成人久久综合电| 久久青青草视频| 国内精品久久久久久久涩爱| 久久婷婷五月综合色99啪ak| 国产69精品久久久久9999APGF | 精品国产一区二区三区久久久狼| 亚洲人成网站999久久久综合| 久久精品中文字幕第23页| 99久久免费只有精品国产| 久久午夜综合久久| 久久久精品国产sm调教网站| 久久精品国产99国产精偷| 一级a性色生活片久久无少妇一级婬片免费放 | 国产精品午夜久久| 激情综合色综合久久综合| 色偷偷88888欧美精品久久久 | 伊色综合久久之综合久久| 天堂久久天堂AV色综合| 9191精品国产免费久久| 亚洲精品无码久久久久sm| 色综合久久久久综合99| 亚洲国产成人久久综合一| 亚洲va国产va天堂va久久| 老司机午夜网站国内精品久久久久久久久 | 人人狠狠综合久久亚洲88| 久久久久久久久波多野高潮| 亚洲国产成人久久综合一| 久久夜色精品国产噜噜噜亚洲AV| 久久综合伊人77777麻豆| 69久久精品无码一区二区| 久久久国产打桩机| 合区精品久久久中文字幕一区| 久久www免费人成看国产片| 国产精品一久久香蕉国产线看| 久久人人爽人人爽人人爽 | 婷婷五月深深久久精品| 精产国品久久一二三产区区别 | 久久九色综合九色99伊人| 精品国产乱码久久久久久1区2区| 久久精品国产亚洲AV无码娇色|