| 970 | } |
| 971 | |
| 972 | void shutdownThreadLocalDebugAgent() { |
| 973 | bool hasThreadLocal = *daScriptEnvironment::g_threadLocalDebugAgent && (*daScriptEnvironment::g_threadLocalDebugAgent)->debugAgent; |
| 974 | if ( hasThreadLocal ) { |
| 975 | DebugAgent * threadLocalDebugAgent = (*daScriptEnvironment::g_threadLocalDebugAgent)->debugAgent.get(); |
| 976 | for_each_debug_agent([&](const DebugAgentPtr & pAgent){ |
| 977 | pAgent->onUninstall(threadLocalDebugAgent); |
| 978 | }); |
| 979 | { |
| 980 | std::lock_guard<std::recursive_mutex> guard(g_DebugAgentMutex); |
| 981 | delete (*daScriptEnvironment::g_threadLocalDebugAgent); |
| 982 | (*daScriptEnvironment::g_threadLocalDebugAgent) = {}; |
| 983 | } |
| 984 | } |
| 985 | } |
| 986 | |
| 987 | void Context::triggerHwBreakpoint ( void * addr, int index ) { |
| 988 | singleStepMode = true; |
no test coverage detected