[程式] UE4 Editor內Blueprint中斷點沒有觸發

看板GameDesign (遊戲設計)作者 (yekdniw)時間4年前 (2020/11/19 20:04), 4年前編輯推噓1(100)
留言1則, 1人參與, 4年前最新討論串1/1
網頁版 https://yekdniwue.blogspot.com/2020/11/BPBreakpoint.html 最近在做功能的時候遇到了有趣的問題。 其實以前就偶爾有遇到但是沒有認真找原因,因為發生的機會其實很低。 這次很幸運的找到問題的原因,所以分享一下 問題發生的現象 在解決問題之前,先描述問題的定義: 在BP下中斷點,無論如何都不會停下來。 但是在中斷點前或後面的節點下PrintString確定會印,功能也都正常。 就只是斷點不會停 如果這個BP是從C++呼叫的話,C++的斷點是會停的。 問題的原因 追查發現ScriptCore.cpp 在執行BP的breakpoint之前,會檢查現在是不是在GameThread。 如果有在Game Thread才會觸發中斷點 剛好我這次的功能是從muti-threading的animation事件過來的。 CallStack直接看到有Update_AnyThread的字眼 所以下次如果再遇到類似的現象 可能要想一下是不是因為multi threading造成的~ 相關程式碼 ScriptCore.cpp FBlueprintCoreDelegates::ThrowScriptException裡面的 if (IsInGameThread()) { OnScriptException.Broadcast(ActiveObject, StackFrame, Info); } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.16.217 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1605787449.A.A10.html ※ 編輯: yekdniw (1.169.16.217 臺灣), 11/19/2020 20:04:31

11/19 20:34, 4年前 , 1F
11/19 20:34, 1F
文章代碼(AID): #1VjbyveG (GameDesign)
文章代碼(AID): #1VjbyveG (GameDesign)