五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

一次機器人程序崩潰的分析

2023-06-29 11:55 作者:西井QAQ  | 我要投稿

28號早上8點機器人主程序又雙叒叕崩了, 多虧上次改了改wer服務, 抓到了崩潰時的完整dump, 話不多說開始分析

先從事件管理器入手看看什么情況

原來是coreclr.dll內部出了故障, 原因是非法訪問, 把dump拿到本地打開看看

從MS的服務器加載coreclr.dll的pdb然后進源碼看看具體錯在哪兒了

嗯, 訪問位于0x670070方法表失敗

等等?這個鬼地方怎么可能擺方法表??

用dotnet-dump命令工具分析一下dump看看

中大獎了, 這一個ColumnModification類里邊有無效的對象引用, 回到VS里邊回溯一下堆??纯?/p>

沒錯, GC在檢查這個成員的時候嘗試訪問其方法表導致的錯誤

檢查一下這附近(±0x10)有什么數據

錯誤引用在0x1dfecdc2d38+0x10, 但在0x1dfecdc2d38+0x20處發(fā)現了方法表指針, 看看它是什么東西

原來它是個字符串, 再看看前邊的數據長的也像個字符串, 把前后兩個有效對象dump出來看看是什么東西

結論是這個ColumnModification.Entry對象里邊的方法表引用落到了前一個字符串最后"pg"的地方, 導致GC在回收對象的標記階段時無法訪問方法表, 從而炸了整個程序

內存排布結論

按道理來說不應該發(fā)生才對的

估計得起一個daemon守護一下主進程才行了……

一次機器人程序崩潰的分析的評論 (共 條)

分享到微博請遵守國家法律
南通市| 沐川县| 隆安县| 分宜县| 南汇区| 镇安县| 南靖县| 原平市| 宿迁市| 泾川县| 雅安市| 常德市| 乐平市| 隆回县| 乌鲁木齐市| 云霄县| 贵阳市| 龙南县| 四川省| 苏州市| 河池市| 吉安县| 石棉县| 天峻县| 紫金县| 平湖市| 仪征市| 湘阴县| 遵义县| 鄂伦春自治旗| 柘荣县| 赣州市| 百色市| 敖汉旗| 城口县| 博客| 三门峡市| 朔州市| 那坡县| 永福县| 沙田区|