rpdb2源碼分析(5)

【待分析】StartServer()函數(shù)

在14401行。函數(shù)原型是:def StartServer(args, fchdir, _rpdb2_pwd, fAllowUnencrypted, fAllowRemote, rid)。

1、引入全局變量。

2、獲得文件的全路徑名,存放在變量ExpandedFilename中。

獲得值為:'/root/webssh/hello.py'

3、【待分析】workaround_import_deadlock()

這個不知道是干什么的,以后再分析吧。

4、把被調(diào)測的文件所在目錄添加的搜索路徑中,sys.path[0]。

5、設(shè)置sys.argv的值。

6、注冊退出回調(diào)函數(shù)。

7、【待分析】生成CDebuggerEngine對象。

g_debugger = CDebuggerEngine()

8、【待分析】生成CDebuggeeServer對象。

g_server = CDebuggeeServer(ExpandedFilename, g_debugger, _rpdb2_pwd, fAllowUnencrypted, fAllowRemote, rid)

9、【待分析】啟動g_server.start()。

10、【待分析】設(shè)置臨時斷點(diǎn)。用于一開始就暫停。

11、sys._getframe(0)

獲取當(dāng)前棧信息,不知道為什么要加上參數(shù)0?

——明白了,這個0表示當(dāng)前棧,如果為1,表示上層棧,是誰調(diào)用了它??梢圆惠斎?yún)?shù),默認(rèn)就是0。

12、【待分析】調(diào)用settrace函數(shù)。

g_debugger.settrace(f, f_break_on_init = False, builtins_hack = ExpandedFilename)

f:其中f是當(dāng)前的調(diào)用棧,不知道有什么用沒有?

f_break_on_init : 為False,不知道有什么用沒有。

builtins_hack :被調(diào)試對象全路徑名。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,257評論 0 38
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,569評論 0 13
  • Today is an interesting day 下午太陽依然掛在天上,我頂著大太陽走上了回家的路。 剛一上...
    六月的熱浪閱讀 342評論 2 2
  • 我不想在春天的時候遇見你 風(fēng)還不夠熱烈 麥子還不夠飽滿 梧桐上的那只漂亮鳥兒還沒有 搭建好她的新家 我不想在夏天的...
    不見長安閱讀 492評論 0 1

友情鏈接更多精彩內(nèi)容