mirror of
https://github.com/alliedmodders/sourcemod.git
synced 2025-12-06 18:08:36 +00:00
Add "EnableLineDebugging" core.cfg option (#2240)
Allow extensions to register a debug break handler in the SourcePawn VM. Enable line debugging support in the VM before any plugin is loaded through a core.cfg option.
This commit is contained in:
parent
74f1f8f6bb
commit
a8c91db585
@ -138,4 +138,11 @@
|
|||||||
* "jitdump" - Generate extended perf metadata (Linux only - function names, bytecode, and source information)
|
* "jitdump" - Generate extended perf metadata (Linux only - function names, bytecode, and source information)
|
||||||
*/
|
*/
|
||||||
"JITMetadata" "default"
|
"JITMetadata" "default"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup the SourcePawn VM to enable extensions to use a debugging API to step through
|
||||||
|
* plugins line by line. This heavily decreases server performance and should NEVER be
|
||||||
|
* used on a production server, but ONLY during plugin development.
|
||||||
|
*/
|
||||||
|
"EnableLineDebugging" "no"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -365,6 +365,12 @@ void SourceModBase::StartSourceMod(bool late)
|
|||||||
g_pSourcePawn2->InstallWatchdogTimer(atoi(timeout) * 1000);
|
g_pSourcePawn2->InstallWatchdogTimer(atoi(timeout) * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *linedebugger = GetCoreConfigValue("EnableLineDebugging");
|
||||||
|
if (linedebugger != NULL && strcasecmp(linedebugger, "yes") == 0)
|
||||||
|
{
|
||||||
|
g_pPawnEnv->EnableDebugBreak();
|
||||||
|
}
|
||||||
|
|
||||||
SH_ADD_HOOK(IServerGameDLL, Think, gamedll, SH_MEMBER(logicore.callbacks, &IProviderCallbacks::OnThink), false);
|
SH_ADD_HOOK(IServerGameDLL, Think, gamedll, SH_MEMBER(logicore.callbacks, &IProviderCallbacks::OnThink), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user