摘要:路標是通過批注消息設置的,所以叫消息路標。建立消息路標的最大用途就是查看函數調用鏈。通過路標的閃爍可以看到是否有調用關系,而如果想看調用鏈,雙擊閃爍的路標即可上圖列舉了調用調用調用調用兩條調用關系鏈。
之前介紹了極客討論器通過分析C/C++/Java/Python/C#/Objective-C代碼來生成函數地圖,和按調用順序查看源代碼的旅行模式。
而在函數地圖下,還可以通過給函數節點設置路標的方式,快速查看代碼間的調用關系。
路標是通過批注消息設置的,所以叫“消息路標”。簡單來說,批注消息批注的代碼屬于哪個函數,對應的函數節點上就會設置一個路標。如圖:
消息“開始游戲”批注在代碼startGame處,此代碼在函數main中,因此函數地圖上main函數設置了一個路標。
建立消息路標的最大用途就是查看函數調用鏈。如我們把代碼中幾個已知的關鍵部分用路標標注后,再查看某處不明所以的代碼:
上圖以自帶的c版的俄羅斯方塊代碼為例,Board::lineIsFull,因為這個函數和main函數之間存在調用關系(當然所有函數都和main有直接或間接的調用關系),和Board::deleteLine之間存在調用關系,所以這兩個函數節點的路標開始閃爍,而另一個路標所在的函數和它沒有調用關系,保持原狀。
點擊路標就能看到高亮它記錄的有關信息,推斷代碼和什么功能相關:
上圖“如果此行已滿”和“則刪除這一行”高亮,表明Board::lineIsFull和方塊的消行相關。
通過路標的閃爍可以看到是否有調用關系,而如果想看調用鏈,雙擊閃爍的路標即可:
上圖列舉了
main 調用 Game::startGrame 調用 Board::clearPossibleLines 調用 Board::lineIsFull
Board::clearPossibleLines 調用 Board::lineIsFull
兩條調用關系鏈。
在這里有動畫展示,和下載地址,歡迎使用。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66177.html
摘要:路標是通過批注消息設置的,所以叫消息路標。建立消息路標的最大用途就是查看函數調用鏈。通過路標的閃爍可以看到是否有調用關系,而如果想看調用鏈,雙擊閃爍的路標即可上圖列舉了調用調用調用調用兩條調用關系鏈。 之前介紹了極客討論器通過分析C/C++/Java/Python/C#/Objective-C代碼來生成函數地圖,和按調用順序查看源代碼的旅行模式。 而在函數地圖下,還可以通過給函數節點設...
摘要:連接建立成功,就會觸發事件事件稍后再解說。當連接建立時當接收到數據時當出現錯誤時事件監聽,主要用來在合適的時間點發送數據,以及處理接收到來自串口的數據信息。數據會經串口發送至與連接的硬件設備,比如板,或者板等等。 Serialport 簡介 想象這樣一個世界,在那里你能用 JavaScript 代碼控制榨汁機,燈,安防系統,甚至機器人。嗯,是機器人!你會不會覺得很新奇以致興奮? Ser...
摘要:當前代碼是以太坊,如果版本不同,代碼上可能存在差異。非產生區塊節點的策略圖,如圖,黃色節點將區塊傳播給青色節點至此,可以看出以太坊采用以石擊水的方式,像水紋一樣,層層擴散新產生的區塊。 前言 這篇文章從區塊傳播策略入手,介紹新區塊是如何傳播到遠端節點,以及新區塊加入到遠端節點本地鏈的過程,同時會介紹fetcher模塊,fetcher的功能是處理Peer通知的區塊信息。在介紹過程中,還會...
閱讀 2983·2021-11-16 11:51
閱讀 2612·2021-09-22 15:02
閱讀 3730·2021-08-04 10:21
閱讀 3616·2019-08-30 15:43
閱讀 1953·2019-08-30 11:04
閱讀 3606·2019-08-29 17:14
閱讀 498·2019-08-29 12:16
閱讀 2940·2019-08-28 18:31