斷點(diǎn)調(diào)試技巧

問(wèn)題緣起

看的是別人的項(xiàng)目,希望了解它的某一處的數(shù)據(jù)在哪里組裝出來(lái)的。
它數(shù)據(jù)組裝的觸發(fā)時(shí)機(jī)是在子節(jié)點(diǎn)變化的時(shí)候哑梳,于是我通過(guò)Break on→subtree modifications進(jìn)入了斷點(diǎn)。
現(xiàn)在問(wèn)題是:這些方法都可能多次在其他處調(diào)用,我不可能直接在此處打斷點(diǎn)(那會(huì)組裝的數(shù)據(jù)不是我想要的袱贮,我只能順著這個(gè)堆棧調(diào)用找上去)
舉個(gè)例子,斷點(diǎn)在c函數(shù)里面体啰,沿著往上找進(jìn)入b,但是b沿著網(wǎng)上找就進(jìn)入a了攒巍,可是!;挠隆柒莉!我需要的data屬于這個(gè)堆棧中間調(diào)用過(guò)程,這個(gè)怎么能最快定位到這個(gè)過(guò)程中foo進(jìn)入堆棧的狀態(tài)(因?yàn)槟鞘俏乙粉櫟臄?shù)據(jù)來(lái)源)沽翔?


兩個(gè)堆棧狀態(tài)之間的中間堆棧狀態(tài).png

問(wèn)題分析

chrome斷點(diǎn)示例.png

chrome的斷點(diǎn)看到的函數(shù)調(diào)用堆棧兢孝,它的搜索線(xiàn)只能看到調(diào)用的當(dāng)前狀態(tài)的,而實(shí)際中間兩個(gè)狀態(tài)之間可能還有很多進(jìn)棧出棧的過(guò)程。這些過(guò)程不能立即體現(xiàn)出來(lái)跨蟹。

利用Restart Frame進(jìn)入中間堆棧狀態(tài)

When at a breakpoint inside debugger mode, you can conveniently restart the current stack frame by right clicking the call stack and selecting Restart Frame
. This can be useful to inspect the current frame without reloading the page with a new breakpoint.


restart frame

這樣就可以進(jìn)一步追溯兩個(gè)堆棧之間的調(diào)用之間的堆棧過(guò)程了雳殊。

怎么能知道一個(gè)對(duì)象的屬性什么時(shí)候添加進(jìn)來(lái)?

最后發(fā)現(xiàn)數(shù)據(jù)來(lái)源于一個(gè)this.data喷市,如何知道這個(gè)this.data是什么時(shí)候設(shè)置上去的呢相种?

在某個(gè)堆棧中,我對(duì)它某個(gè)對(duì)象上某個(gè)屬性foo在哪里set的特別感興趣品姓,我怎么才能追蹤到這個(gè)屬性在哪里設(shè)置的呢寝并?
只能全局搜索.foo["foo"]或者,"foo",(萬(wàn)一這個(gè)foo的命名比較常見(jiàn)得搜到什么時(shí)候,要是chrome調(diào)試支持監(jiān)聽(tīng)對(duì)象屬性就厲害了)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末腹备,一起剝皮案震驚了整個(gè)濱河市衬潦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌植酥,老刑警劉巖镀岛,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異友驮,居然都是意外死亡漂羊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)卸留,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)走越,“玉大人,你說(shuō)我怎么就攤上這事耻瑟≈贾福” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵喳整,是天一觀(guān)的道長(zhǎng)谆构。 經(jīng)常有香客問(wèn)我,道長(zhǎng)框都,這世上最難降的妖魔是什么搬素? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮魏保,結(jié)果婚禮上蔗蹋,老公的妹妹穿的比我還像新娘。我一直安慰自己囱淋,他們只是感情好猪杭,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著妥衣,像睡著了一般皂吮。 火紅的嫁衣襯著肌膚如雪戒傻。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天蜂筹,我揣著相機(jī)與錄音需纳,去河邊找鬼。 笑死艺挪,一個(gè)胖子當(dāng)著我的面吹牛不翩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播麻裳,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼口蝠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了津坑?” 一聲冷哼從身側(cè)響起妙蔗,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎疆瑰,沒(méi)想到半個(gè)月后眉反,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡穆役,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年寸五,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耿币。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡梳杏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出掰读,到底是詐尸還是另有隱情,我是刑警寧澤叭莫,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布蹈集,位于F島的核電站,受9級(jí)特大地震影響雇初,放射性物質(zhì)發(fā)生泄漏拢肆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一靖诗、第九天 我趴在偏房一處隱蔽的房頂上張望郭怪。 院中可真熱鬧,春花似錦刊橘、人聲如沸鄙才。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)攒庵。三九已至嘴纺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浓冒,已是汗流浹背栽渴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留稳懒,地道東北人闲擦。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像场梆,于是被迫代替她去往敵國(guó)和親墅冷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理辙谜,服務(wù)發(fā)現(xiàn)俺榆,斷路器,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • 緒論 Xcode 中的調(diào)試技巧與我們的日常開(kāi)發(fā)息息相關(guān)装哆,而這些調(diào)試技巧在我們解決Bug時(shí)罐脊,常常有事半功倍的效果。在...
    奮斗的郅博閱讀 1,458評(píng)論 0 0
  • 1.普通斷點(diǎn) 如果在一個(gè)循環(huán)中設(shè)置斷點(diǎn)例如: 那么,每次經(jīng)過(guò)斷點(diǎn),就會(huì)觸發(fā)斷點(diǎn),并中止程序停下來(lái). 2.滿(mǎn)足指定條...
    BinaryBang閱讀 14,986評(píng)論 0 9
  • 設(shè)置斷點(diǎn)(點(diǎn)擊紅點(diǎn)位置添加或取消斷點(diǎn)) 點(diǎn)擊debug模式運(yùn)行(AndroidStudio 2.2.2) 查看調(diào)試...
    TendaZhang閱讀 563評(píng)論 0 1
  • xCode斷點(diǎn)調(diào)試正常工作中都會(huì)遇到蜕琴,如果遇到循環(huán)次數(shù)較多的情況萍桌,其實(shí)我們可以通過(guò)設(shè)置斷點(diǎn)條件來(lái)實(shí)現(xiàn):代碼: f...
    FlyElephant閱讀 1,107評(píng)論 0 0