close

最近遇到一個很神奇的問題。

 

用C++撰寫給Unity呼叫之dll,新增一條export function後,在Unity內呼叫時,會發生EntryPointNotFound的exception。

試著將dll attach到unity去做debug,但是卻無論如何都無法觸發在dll中下的中斷點。

神奇的是,當發生exception時,dll的project又確實會發生中斷。

 

再三檢查export與import的寫法都沒有錯誤後,直覺告訴我,可能是unity版本的問題。

於是我另外安裝了一份Unity 2017.1.1,用這一份去測試一樣的unity project,結果竟然是正常的!

那就代表是Unity的問題了....

 

於是我在這一份可以正常跑的專案底下,改好我要改的dll project後,編出一個dll,然後上傳到unity project之svn。

最神奇的地方來了!

有問題的那一份2017.3.1f1專案,在我svn更新了這一份dll後,跑起來竟然是正常的!?

 

結論:

1. Unity 2017.3.1f1似乎有更改管理unmanaged code的機制,目前還沒找到相關的討論與解法。

2. 目前dll project, attach到unity後仍無法觸發中斷點。目前正常了,但搞不懂為什麼

arrow
arrow
    全站熱搜

    Ken 發表在 痞客邦 留言(0) 人氣()