作者downstairs (樓下)
看板C_and_CPP
標題Fw: [問題] dependency walker找缺失的dll 要怎麼用?
時間Sun Nov 5 17:07:24 2017
※ [本文轉錄自 C_Sharp 看板 #1P_iuQCx ]
作者: downstairs (樓下) 看板: C_Sharp
標題: [問題] dependency walker找缺失的dll 要怎麼用?
時間: Sun Nov 5 16:38:47 2017
大家好
小弟正在學怎麼用dependency walker找缺失的dll
很簡單
我用C++建置了一個 ForCSharpCall.dll 給C#用
該dll只負責做加減乘除 教學網站 :
https://goo.gl/hVL1JB (應該可以不用看)
寫好的專案:
https://goo.gl/Y4vZc3
然後C#建置完會有執行檔exe 可以正常運作
然後我把 ForCSharpCall.dll 刪除 想當然爾點執行檔會失敗 因為需要dll
此時我把exe丟進 dependency walker
期待可以看到 找不到ForCSharpCall.dll 之類的蛛絲馬跡提示
結果出現這個:
https://imgur.com/a/rHYnK
分成三個部分: 黃色問號 白色視窗 紅色視窗
可是就是都沒有 ForCSharpCall.dll 的字眼
所以想請問說 實際上到底要怎麼樣才能找到缺失的dll呢?
感謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.146.2
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1509871130.A.33B.html
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: downstairs (220.134.146.2), 11/05/2017 17:07:24
1F:推 stupid0319: 少DLL,WINDOWS不是都會提示嗎!? 11/05 18:09
會 但是如果我少100個dll
WINDOWS不會一次列出來 而是程式crash才列出少的那一個
只能用錯誤嘗試法慢慢找 效率很差
我想這就是大家會用dependency walker的其中一個原因
2F:推 stupid0319: PE有DLL輸入表可以看呀,而且怎麼可能用到100個DLL 11/05 18:38
3F:→ stupid0319: 只要少一個DLL,WIN載入器就會中斷,不太能同時顯示也 11/05 18:39
4F:→ stupid0319: 而且DLL載入還有動態載入的方法 11/05 18:42
請問PE是什麼?謝謝
如果PE是編譯器裡面的東西 那無法解決我的問題
這是一個人用 dependency walker 找出要玩 刺客教條 所缺少的dll
https://www.youtube.com/watch?v=amvh8NFK-50
可是玩家是不可能跟刺客教條遊戲公司要到可以用編譯器打開的souce code來找缺乏的dll
我的角色比較類似玩家的部分 而非範例中我是撰寫程式的人
※ 編輯: downstairs (220.134.146.2), 11/05/2017 19:01:37
5F:推 loveflames: PE是windows執行檔格式 11/05 19:57
6F:→ stupid0319: 很好奇是什麼情況可以缺DLL缺到100多個,太可怕了 11/05 20:24
7F:推 FrozenMoment: Dependency Walker沒記錯的話應該不能抓clr的部分吧 11/06 08:20
8F:推 dces4212: 樓樓上 distributable package沒裝就有一百初了 11/16 11:44