port: EterBase/Debug.cpp log functions verbatim (log.txt, syserr.txt)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
f9b1044a4a
commit
e0cdcee2e6
@@ -606,3 +606,4 @@
|
||||
{"date": "2026-09-30", "unit": "EterBase/CRC32.cpp", "action": "GetCaseCRC32 PORTED; GetHFILECRC32/GetFileCRC32/GetFileSize ADAPTED", "evidence": "port.utils CRC32/CFileBase/CMappedFile checks"}
|
||||
{"date": "2026-09-30", "unit": "EterBase/FileBase.cpp", "action": "all units mapped (FILE* over Win32 HANDLE); stale fstream note corrected", "evidence": "port.utils CRC32/CFileBase/CMappedFile checks"}
|
||||
{"date": "2026-09-30", "unit": "EterBase/MappedFile.cpp", "action": "Map/Unmap ADAPTED (mmap), rest PORTED verbatim; stale ifstream note corrected", "evidence": "port.utils CRC32/CFileBase/CMappedFile checks"}
|
||||
{"date": "2026-09-30", "unit": "EterBase/Debug.cpp", "action": "Log*/Trace*/LogFile*/OpenLogFile PORTED (non-_DEBUG), OpenConsoleWindow N_A", "evidence": "port.debug_log"}
|
||||
|
||||
@@ -1,69 +1,165 @@
|
||||
{
|
||||
"reference": "EterBase/Debug.cpp",
|
||||
"reference_sha256": "af7a6cba9e6d83511a40f596629f85f1b770b510fc0db1d9cbefcec88ecb15ec",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"SetLogLevel": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Log": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Logn": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Logf": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Lognf": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Trace": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Tracen": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Tracenf": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Tracef": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"TraceError": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"TraceErrorWithoutEnter": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"LogBoxf": {
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:LogBoxf"
|
||||
],
|
||||
"status": "ADAPTED",
|
||||
"note": "verbatim apart from two PORT fixes the 40250 build did not need: va_end (40250 leaks the va_list) and terminating szBuf, which _vsnprintf does not do on truncation.",
|
||||
"test": "project/python_host_check.gd — system.py's ImportError reaches GDScript through it"
|
||||
},
|
||||
"LogBox": {
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:LogBox"
|
||||
],
|
||||
"status": "ADAPTED",
|
||||
"note": "40250 pops a MessageBox on g_PopupHwnd and Tracen()s the text. No window here: the text goes to stderr and is kept in LastLogBoxMessage() (src/platform/EterBase/LogBox.h), because ScriptLib/PythonLauncher.cpp Traceback() reports every failed script line through LogBoxf after PyErr_Fetch has already cleared the exception — this is the only place a traceback survives.",
|
||||
"test": "project/python_host_check.gd — system.py's ImportError reaches GDScript through it"
|
||||
},
|
||||
"LogFile": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"LogFilef": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"OpenLogFile": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"OpenConsoleWindow": {
|
||||
"status": "TODO"
|
||||
"reference": "EterBase/Debug.cpp",
|
||||
"reference_sha256": "af7a6cba9e6d83511a40f596629f85f1b770b510fc0db1d9cbefcec88ecb15ec",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"SetLogLevel": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:SetLogLevel"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too)."
|
||||
},
|
||||
"Log": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:Log"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too)."
|
||||
},
|
||||
"Logn": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:Logn"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too)."
|
||||
},
|
||||
"Logf": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:Logf"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too). PORT: terminates szBuf after a truncating _vsnprintf (and va_end in LogFilef)."
|
||||
},
|
||||
"Lognf": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:Lognf"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too)."
|
||||
},
|
||||
"Trace": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:Trace"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too)."
|
||||
},
|
||||
"Tracen": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:Tracen"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too)."
|
||||
},
|
||||
"Tracenf": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:Tracenf"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too)."
|
||||
},
|
||||
"Tracef": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:Tracef"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too). PORT: terminates szBuf after a truncating _vsnprintf (and va_end in LogFilef)."
|
||||
},
|
||||
"TraceError": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:TraceError"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 (stderr without the SYSERR: prefix, log.txt with it). PORT: a -1 (truncated) _vsnprintf keeps the terminator inside the buffer; the TraceErrorObserver hook forwards the line (Android logcat, tests)."
|
||||
},
|
||||
"TraceErrorWithoutEnter": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:TraceErrorWithoutEnter"
|
||||
],
|
||||
"note": "Verbatim, including printing from szBuf + 8; no caller in 40250 (LC_ALL=C grep -a)."
|
||||
},
|
||||
"LogBoxf": {
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:LogBoxf"
|
||||
],
|
||||
"status": "ADAPTED",
|
||||
"note": "verbatim apart from two PORT fixes the 40250 build did not need: va_end (40250 leaks the va_list) and terminating szBuf, which _vsnprintf does not do on truncation.",
|
||||
"test": "project/python_host_check.gd — system.py's ImportError reaches GDScript through it"
|
||||
},
|
||||
"LogBox": {
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:LogBox"
|
||||
],
|
||||
"status": "ADAPTED",
|
||||
"note": "40250 pops a MessageBox on g_PopupHwnd and Tracen()s the text. No window here: the text goes to stderr and is kept in LastLogBoxMessage() (src/platform/EterBase/LogBox.h), because ScriptLib/PythonLauncher.cpp Traceback() reports every failed script line through LogBoxf after PyErr_Fetch has already cleared the exception — this is the only place a traceback survives.",
|
||||
"test": "project/python_host_check.gd — system.py's ImportError reaches GDScript through it"
|
||||
},
|
||||
"LogFile": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:LogFile"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too)."
|
||||
},
|
||||
"LogFilef": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:LogFilef"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim 40250 non-_DEBUG build (the _DEBUG OutputDebugString/stdout lines are compiled out there too). PORT: terminates szBuf after a truncating _vsnprintf (and va_end in LogFilef)."
|
||||
},
|
||||
"OpenLogFile": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"src/platform/EterBase/Debug.cpp:OpenLogFile"
|
||||
],
|
||||
"test": [
|
||||
"tests/port/port_debug_log_test.cpp"
|
||||
],
|
||||
"note": "Verbatim (freopen syserr.txt over stderr; log.txt when true). 40250 Main calls OpenLogFile(false) in release; the SDL host does not call it yet (UserInterface.cpp Main is still TODO), so stderr stays on the terminal/logcat."
|
||||
},
|
||||
"OpenConsoleWindow": {
|
||||
"status": "N_A",
|
||||
"note": "AllocConsole + CONOUT$/CONIN$ in the _DEBUG WinMain only; the shipped release build never calls it."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user