From 7ca4b51eddcdc8de92a0d489a9c3d5aa32bd973b Mon Sep 17 00:00:00 2001 From: zhangjiequan Date: Thu, 22 Feb 2024 17:52:48 +0800 Subject: [PATCH 1/7] feat: Added a toggle enableDisplayCustomTypeInfo aimed at further enhancing performance. --- emmy_core/src/emmy_core.cpp | 1 + .../include/emmy_debugger/debugger/emmy_debugger.h | 2 ++ .../emmy_debugger/debugger/emmy_debugger_lib.h | 3 +++ emmy_debugger/include/emmy_debugger/emmy_facade.h | 1 + emmy_debugger/src/debugger/emmy_debugger.cpp | 9 +++++++-- emmy_debugger/src/debugger/emmy_debugger_lib.cpp | 11 +++++++++++ emmy_debugger/src/emmy_facade.cpp | 10 ++++++++++ 7 files changed, 35 insertions(+), 2 deletions(-) diff --git a/emmy_core/src/emmy_core.cpp b/emmy_core/src/emmy_core.cpp index c27a9c1..45a1fc2 100644 --- a/emmy_core/src/emmy_core.cpp +++ b/emmy_core/src/emmy_core.cpp @@ -31,6 +31,7 @@ static const luaL_Reg lib[] = { {"breakHere", breakHere}, {"stop", stop}, {"tcpSharedListen", tcpSharedListen}, + {"enableDisplayCustomTypeInfo", enableDisplayCustomTypeInfo}, {"registerTypeName", registerTypeName}, {nullptr, nullptr} }; diff --git a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h index 8ad2e62..439ef24 100644 --- a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h +++ b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h @@ -95,6 +95,7 @@ class Debugger: public std::enable_shared_from_this void ClearVariableArenaRef(); + void enableDisplayCustomTypeInfo(); bool RegisterTypeName(const std::string& typeName, std::string& err); private: @@ -143,5 +144,6 @@ class Debugger: public std::enable_shared_from_this Arena *arenaRef; + bool displayCustomTypeInfo; std::bitset registeredTypes; }; diff --git a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger_lib.h b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger_lib.h index 52d0dfe..e3b046d 100644 --- a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger_lib.h +++ b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger_lib.h @@ -28,6 +28,9 @@ int tcpSharedListen(lua_State* L); // emmy.stop() int stop(lua_State* L); +// emmy.enableDisplayCustomTypeInfo(): bool +int enableDisplayCustomTypeInfo(lua_State* L); + // emmy.registerTypeName(typeName: string): bool int registerTypeName(lua_State* L); diff --git a/emmy_debugger/include/emmy_debugger/emmy_facade.h b/emmy_debugger/include/emmy_debugger/emmy_facade.h index 75ee590..a5cf28c 100644 --- a/emmy_debugger/include/emmy_debugger/emmy_facade.h +++ b/emmy_debugger/include/emmy_debugger/emmy_facade.h @@ -58,6 +58,7 @@ class EmmyFacade bool PipeListen(lua_State* L, const std::string& name, std::string& err); bool PipeConnect(lua_State* L, const std::string& name, std::string& err); int BreakHere(lua_State* L); + bool enableDisplayCustomTypeInfo(lua_State *L, std::string &err); bool RegisterTypeName(lua_State *L, const std::string &typeName, std::string &err); int OnConnect(bool suc); diff --git a/emmy_debugger/src/debugger/emmy_debugger.cpp b/emmy_debugger/src/debugger/emmy_debugger.cpp index fe5bf8b..0480593 100644 --- a/emmy_debugger/src/debugger/emmy_debugger.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger.cpp @@ -41,7 +41,8 @@ Debugger::Debugger(lua_State *L, EmmyDebuggerManager *manager) running(false), skipHook(false), blocking(false), - arenaRef(nullptr) { + arenaRef(nullptr), + displayCustomTypeInfo(false) { } Debugger::~Debugger() { @@ -371,7 +372,7 @@ void Debugger::GetVariable(lua_State *L, Idx variable, int index, int variable->valueType = type; if (queryHelper) { - if (type >= 0 && type < registeredTypes.size() && registeredTypes.test(type) + if (displayCustomTypeInfo && type >= 0 && type < registeredTypes.size() && registeredTypes.test(type) && manager->extension.QueryVariableCustom(L, variable, typeName, index, depth)) { return; } @@ -1442,6 +1443,10 @@ int Debugger::GetTypeFromName(const char* typeName) { return -1; // 未知类型 } +void Debugger::enableDisplayCustomTypeInfo() { + displayCustomTypeInfo = true; +} + bool Debugger::RegisterTypeName(const std::string& typeName, std::string& err) { int type = GetTypeFromName(typeName.c_str()); if (type == -1) { diff --git a/emmy_debugger/src/debugger/emmy_debugger_lib.cpp b/emmy_debugger/src/debugger/emmy_debugger_lib.cpp index d9ea800..10c33f2 100644 --- a/emmy_debugger/src/debugger/emmy_debugger_lib.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger_lib.cpp @@ -117,6 +117,17 @@ int stop(lua_State* L) return 0; } +// emmy.enableDisplayCustomTypeInfo(): bool +int enableDisplayCustomTypeInfo(lua_State* L) +{ + std::string err; + const auto suc = EmmyFacade::Get().enableDisplayCustomTypeInfo(L, err); + lua_pushboolean(L, suc); + if (suc) return 1; + lua_pushstring(L, err.c_str()); + return 2; +} + // emmy.registerTypeName(typeName: string): bool int registerTypeName(lua_State* L) { diff --git a/emmy_debugger/src/emmy_facade.cpp b/emmy_debugger/src/emmy_facade.cpp index ff331d4..f4a2527 100644 --- a/emmy_debugger/src/emmy_facade.cpp +++ b/emmy_debugger/src/emmy_facade.cpp @@ -397,6 +397,16 @@ void EmmyFacade::Attach(lua_State *L) { lua_sethook(L, EmmyFacade::HookLua, LUA_MASKCALL | LUA_MASKLINE | LUA_MASKRET, 0); } +bool EmmyFacade::enableDisplayCustomTypeInfo(lua_State *L, std::string &err) { + auto debugger = GetDebugger(L); + if (!debugger) { + err = "Debugger does not exist"; + return false; + } + debugger->enableDisplayCustomTypeInfo(); + return true; +} + bool EmmyFacade::RegisterTypeName(lua_State *L, const std::string &typeName, std::string &err) { auto debugger = GetDebugger(L); if (!debugger) { From 08320245554ef7fdc646ca11bb971b04d34c5e21 Mon Sep 17 00:00:00 2001 From: zhangjiequan Date: Thu, 22 Feb 2024 21:12:24 +0800 Subject: [PATCH 2/7] style: Update method names to follow PascalCase convention --- emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h | 2 +- emmy_debugger/include/emmy_debugger/emmy_facade.h | 2 +- emmy_debugger/src/debugger/emmy_debugger.cpp | 2 +- emmy_debugger/src/debugger/emmy_debugger_lib.cpp | 2 +- emmy_debugger/src/emmy_facade.cpp | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h index 439ef24..d2906d9 100644 --- a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h +++ b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h @@ -95,7 +95,7 @@ class Debugger: public std::enable_shared_from_this void ClearVariableArenaRef(); - void enableDisplayCustomTypeInfo(); + void EnableDisplayCustomTypeInfo(); bool RegisterTypeName(const std::string& typeName, std::string& err); private: diff --git a/emmy_debugger/include/emmy_debugger/emmy_facade.h b/emmy_debugger/include/emmy_debugger/emmy_facade.h index a5cf28c..bf798dd 100644 --- a/emmy_debugger/include/emmy_debugger/emmy_facade.h +++ b/emmy_debugger/include/emmy_debugger/emmy_facade.h @@ -58,7 +58,7 @@ class EmmyFacade bool PipeListen(lua_State* L, const std::string& name, std::string& err); bool PipeConnect(lua_State* L, const std::string& name, std::string& err); int BreakHere(lua_State* L); - bool enableDisplayCustomTypeInfo(lua_State *L, std::string &err); + bool EnableDisplayCustomTypeInfo(lua_State *L, std::string &err); bool RegisterTypeName(lua_State *L, const std::string &typeName, std::string &err); int OnConnect(bool suc); diff --git a/emmy_debugger/src/debugger/emmy_debugger.cpp b/emmy_debugger/src/debugger/emmy_debugger.cpp index 0480593..d5a7c91 100644 --- a/emmy_debugger/src/debugger/emmy_debugger.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger.cpp @@ -1443,7 +1443,7 @@ int Debugger::GetTypeFromName(const char* typeName) { return -1; // 未知类型 } -void Debugger::enableDisplayCustomTypeInfo() { +void Debugger::EnableDisplayCustomTypeInfo() { displayCustomTypeInfo = true; } diff --git a/emmy_debugger/src/debugger/emmy_debugger_lib.cpp b/emmy_debugger/src/debugger/emmy_debugger_lib.cpp index 10c33f2..0911e91 100644 --- a/emmy_debugger/src/debugger/emmy_debugger_lib.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger_lib.cpp @@ -121,7 +121,7 @@ int stop(lua_State* L) int enableDisplayCustomTypeInfo(lua_State* L) { std::string err; - const auto suc = EmmyFacade::Get().enableDisplayCustomTypeInfo(L, err); + const auto suc = EmmyFacade::Get().EnableDisplayCustomTypeInfo(L, err); lua_pushboolean(L, suc); if (suc) return 1; lua_pushstring(L, err.c_str()); diff --git a/emmy_debugger/src/emmy_facade.cpp b/emmy_debugger/src/emmy_facade.cpp index f4a2527..94a77da 100644 --- a/emmy_debugger/src/emmy_facade.cpp +++ b/emmy_debugger/src/emmy_facade.cpp @@ -397,13 +397,13 @@ void EmmyFacade::Attach(lua_State *L) { lua_sethook(L, EmmyFacade::HookLua, LUA_MASKCALL | LUA_MASKLINE | LUA_MASKRET, 0); } -bool EmmyFacade::enableDisplayCustomTypeInfo(lua_State *L, std::string &err) { +bool EmmyFacade::EnableDisplayCustomTypeInfo(lua_State *L, std::string &err) { auto debugger = GetDebugger(L); if (!debugger) { err = "Debugger does not exist"; return false; } - debugger->enableDisplayCustomTypeInfo(); + debugger->EnableDisplayCustomTypeInfo(); return true; } From 8f1d78da7e45aeeaa9ebfb93be3c8c9185ce91d9 Mon Sep 17 00:00:00 2001 From: zhangjiequan Date: Fri, 23 Feb 2024 10:42:23 +0800 Subject: [PATCH 3/7] Revert "style: Update method names to follow PascalCase convention" This reverts commit 08320245554ef7fdc646ca11bb971b04d34c5e21. --- emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h | 2 +- emmy_debugger/include/emmy_debugger/emmy_facade.h | 2 +- emmy_debugger/src/debugger/emmy_debugger.cpp | 2 +- emmy_debugger/src/debugger/emmy_debugger_lib.cpp | 2 +- emmy_debugger/src/emmy_facade.cpp | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h index d2906d9..439ef24 100644 --- a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h +++ b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h @@ -95,7 +95,7 @@ class Debugger: public std::enable_shared_from_this void ClearVariableArenaRef(); - void EnableDisplayCustomTypeInfo(); + void enableDisplayCustomTypeInfo(); bool RegisterTypeName(const std::string& typeName, std::string& err); private: diff --git a/emmy_debugger/include/emmy_debugger/emmy_facade.h b/emmy_debugger/include/emmy_debugger/emmy_facade.h index bf798dd..a5cf28c 100644 --- a/emmy_debugger/include/emmy_debugger/emmy_facade.h +++ b/emmy_debugger/include/emmy_debugger/emmy_facade.h @@ -58,7 +58,7 @@ class EmmyFacade bool PipeListen(lua_State* L, const std::string& name, std::string& err); bool PipeConnect(lua_State* L, const std::string& name, std::string& err); int BreakHere(lua_State* L); - bool EnableDisplayCustomTypeInfo(lua_State *L, std::string &err); + bool enableDisplayCustomTypeInfo(lua_State *L, std::string &err); bool RegisterTypeName(lua_State *L, const std::string &typeName, std::string &err); int OnConnect(bool suc); diff --git a/emmy_debugger/src/debugger/emmy_debugger.cpp b/emmy_debugger/src/debugger/emmy_debugger.cpp index d5a7c91..0480593 100644 --- a/emmy_debugger/src/debugger/emmy_debugger.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger.cpp @@ -1443,7 +1443,7 @@ int Debugger::GetTypeFromName(const char* typeName) { return -1; // 未知类型 } -void Debugger::EnableDisplayCustomTypeInfo() { +void Debugger::enableDisplayCustomTypeInfo() { displayCustomTypeInfo = true; } diff --git a/emmy_debugger/src/debugger/emmy_debugger_lib.cpp b/emmy_debugger/src/debugger/emmy_debugger_lib.cpp index 0911e91..10c33f2 100644 --- a/emmy_debugger/src/debugger/emmy_debugger_lib.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger_lib.cpp @@ -121,7 +121,7 @@ int stop(lua_State* L) int enableDisplayCustomTypeInfo(lua_State* L) { std::string err; - const auto suc = EmmyFacade::Get().EnableDisplayCustomTypeInfo(L, err); + const auto suc = EmmyFacade::Get().enableDisplayCustomTypeInfo(L, err); lua_pushboolean(L, suc); if (suc) return 1; lua_pushstring(L, err.c_str()); diff --git a/emmy_debugger/src/emmy_facade.cpp b/emmy_debugger/src/emmy_facade.cpp index 94a77da..f4a2527 100644 --- a/emmy_debugger/src/emmy_facade.cpp +++ b/emmy_debugger/src/emmy_facade.cpp @@ -397,13 +397,13 @@ void EmmyFacade::Attach(lua_State *L) { lua_sethook(L, EmmyFacade::HookLua, LUA_MASKCALL | LUA_MASKLINE | LUA_MASKRET, 0); } -bool EmmyFacade::EnableDisplayCustomTypeInfo(lua_State *L, std::string &err) { +bool EmmyFacade::enableDisplayCustomTypeInfo(lua_State *L, std::string &err) { auto debugger = GetDebugger(L); if (!debugger) { err = "Debugger does not exist"; return false; } - debugger->EnableDisplayCustomTypeInfo(); + debugger->enableDisplayCustomTypeInfo(); return true; } From 1e94fc1ac5f820b5e6112cb4638faaa886583388 Mon Sep 17 00:00:00 2001 From: zhangjiequan Date: Fri, 23 Feb 2024 10:42:34 +0800 Subject: [PATCH 4/7] Revert "feat: Added a toggle enableDisplayCustomTypeInfo aimed at further enhancing performance." This reverts commit 7ca4b51eddcdc8de92a0d489a9c3d5aa32bd973b. --- emmy_core/src/emmy_core.cpp | 1 - .../include/emmy_debugger/debugger/emmy_debugger.h | 2 -- .../emmy_debugger/debugger/emmy_debugger_lib.h | 3 --- emmy_debugger/include/emmy_debugger/emmy_facade.h | 1 - emmy_debugger/src/debugger/emmy_debugger.cpp | 9 ++------- emmy_debugger/src/debugger/emmy_debugger_lib.cpp | 11 ----------- emmy_debugger/src/emmy_facade.cpp | 10 ---------- 7 files changed, 2 insertions(+), 35 deletions(-) diff --git a/emmy_core/src/emmy_core.cpp b/emmy_core/src/emmy_core.cpp index 45a1fc2..c27a9c1 100644 --- a/emmy_core/src/emmy_core.cpp +++ b/emmy_core/src/emmy_core.cpp @@ -31,7 +31,6 @@ static const luaL_Reg lib[] = { {"breakHere", breakHere}, {"stop", stop}, {"tcpSharedListen", tcpSharedListen}, - {"enableDisplayCustomTypeInfo", enableDisplayCustomTypeInfo}, {"registerTypeName", registerTypeName}, {nullptr, nullptr} }; diff --git a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h index 439ef24..8ad2e62 100644 --- a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h +++ b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h @@ -95,7 +95,6 @@ class Debugger: public std::enable_shared_from_this void ClearVariableArenaRef(); - void enableDisplayCustomTypeInfo(); bool RegisterTypeName(const std::string& typeName, std::string& err); private: @@ -144,6 +143,5 @@ class Debugger: public std::enable_shared_from_this Arena *arenaRef; - bool displayCustomTypeInfo; std::bitset registeredTypes; }; diff --git a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger_lib.h b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger_lib.h index e3b046d..52d0dfe 100644 --- a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger_lib.h +++ b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger_lib.h @@ -28,9 +28,6 @@ int tcpSharedListen(lua_State* L); // emmy.stop() int stop(lua_State* L); -// emmy.enableDisplayCustomTypeInfo(): bool -int enableDisplayCustomTypeInfo(lua_State* L); - // emmy.registerTypeName(typeName: string): bool int registerTypeName(lua_State* L); diff --git a/emmy_debugger/include/emmy_debugger/emmy_facade.h b/emmy_debugger/include/emmy_debugger/emmy_facade.h index a5cf28c..75ee590 100644 --- a/emmy_debugger/include/emmy_debugger/emmy_facade.h +++ b/emmy_debugger/include/emmy_debugger/emmy_facade.h @@ -58,7 +58,6 @@ class EmmyFacade bool PipeListen(lua_State* L, const std::string& name, std::string& err); bool PipeConnect(lua_State* L, const std::string& name, std::string& err); int BreakHere(lua_State* L); - bool enableDisplayCustomTypeInfo(lua_State *L, std::string &err); bool RegisterTypeName(lua_State *L, const std::string &typeName, std::string &err); int OnConnect(bool suc); diff --git a/emmy_debugger/src/debugger/emmy_debugger.cpp b/emmy_debugger/src/debugger/emmy_debugger.cpp index 0480593..fe5bf8b 100644 --- a/emmy_debugger/src/debugger/emmy_debugger.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger.cpp @@ -41,8 +41,7 @@ Debugger::Debugger(lua_State *L, EmmyDebuggerManager *manager) running(false), skipHook(false), blocking(false), - arenaRef(nullptr), - displayCustomTypeInfo(false) { + arenaRef(nullptr) { } Debugger::~Debugger() { @@ -372,7 +371,7 @@ void Debugger::GetVariable(lua_State *L, Idx variable, int index, int variable->valueType = type; if (queryHelper) { - if (displayCustomTypeInfo && type >= 0 && type < registeredTypes.size() && registeredTypes.test(type) + if (type >= 0 && type < registeredTypes.size() && registeredTypes.test(type) && manager->extension.QueryVariableCustom(L, variable, typeName, index, depth)) { return; } @@ -1443,10 +1442,6 @@ int Debugger::GetTypeFromName(const char* typeName) { return -1; // 未知类型 } -void Debugger::enableDisplayCustomTypeInfo() { - displayCustomTypeInfo = true; -} - bool Debugger::RegisterTypeName(const std::string& typeName, std::string& err) { int type = GetTypeFromName(typeName.c_str()); if (type == -1) { diff --git a/emmy_debugger/src/debugger/emmy_debugger_lib.cpp b/emmy_debugger/src/debugger/emmy_debugger_lib.cpp index 10c33f2..d9ea800 100644 --- a/emmy_debugger/src/debugger/emmy_debugger_lib.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger_lib.cpp @@ -117,17 +117,6 @@ int stop(lua_State* L) return 0; } -// emmy.enableDisplayCustomTypeInfo(): bool -int enableDisplayCustomTypeInfo(lua_State* L) -{ - std::string err; - const auto suc = EmmyFacade::Get().enableDisplayCustomTypeInfo(L, err); - lua_pushboolean(L, suc); - if (suc) return 1; - lua_pushstring(L, err.c_str()); - return 2; -} - // emmy.registerTypeName(typeName: string): bool int registerTypeName(lua_State* L) { diff --git a/emmy_debugger/src/emmy_facade.cpp b/emmy_debugger/src/emmy_facade.cpp index f4a2527..ff331d4 100644 --- a/emmy_debugger/src/emmy_facade.cpp +++ b/emmy_debugger/src/emmy_facade.cpp @@ -397,16 +397,6 @@ void EmmyFacade::Attach(lua_State *L) { lua_sethook(L, EmmyFacade::HookLua, LUA_MASKCALL | LUA_MASKLINE | LUA_MASKRET, 0); } -bool EmmyFacade::enableDisplayCustomTypeInfo(lua_State *L, std::string &err) { - auto debugger = GetDebugger(L); - if (!debugger) { - err = "Debugger does not exist"; - return false; - } - debugger->enableDisplayCustomTypeInfo(); - return true; -} - bool EmmyFacade::RegisterTypeName(lua_State *L, const std::string &typeName, std::string &err) { auto debugger = GetDebugger(L); if (!debugger) { From 9b97cec2aa094ce76f80e78b2192af63651f7a23 Mon Sep 17 00:00:00 2001 From: zhangjiequan Date: Fri, 23 Feb 2024 10:47:25 +0800 Subject: [PATCH 5/7] feat: Added a bool displayCustomTypeInfo aimed at further enhancing performance. --- .../include/emmy_debugger/debugger/emmy_debugger.h | 1 + emmy_debugger/src/debugger/emmy_debugger.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h index 8ad2e62..b06519b 100644 --- a/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h +++ b/emmy_debugger/include/emmy_debugger/debugger/emmy_debugger.h @@ -143,5 +143,6 @@ class Debugger: public std::enable_shared_from_this Arena *arenaRef; + bool displayCustomTypeInfo; std::bitset registeredTypes; }; diff --git a/emmy_debugger/src/debugger/emmy_debugger.cpp b/emmy_debugger/src/debugger/emmy_debugger.cpp index fe5bf8b..5f8f9dc 100644 --- a/emmy_debugger/src/debugger/emmy_debugger.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger.cpp @@ -41,7 +41,8 @@ Debugger::Debugger(lua_State *L, EmmyDebuggerManager *manager) running(false), skipHook(false), blocking(false), - arenaRef(nullptr) { + arenaRef(nullptr), + displayCustomTypeInfo(false) { } Debugger::~Debugger() { @@ -371,7 +372,7 @@ void Debugger::GetVariable(lua_State *L, Idx variable, int index, int variable->valueType = type; if (queryHelper) { - if (type >= 0 && type < registeredTypes.size() && registeredTypes.test(type) + if (displayCustomTypeInfo && type >= 0 && type < registeredTypes.size() && registeredTypes.test(type) && manager->extension.QueryVariableCustom(L, variable, typeName, index, depth)) { return; } @@ -1448,6 +1449,7 @@ bool Debugger::RegisterTypeName(const std::string& typeName, std::string& err) { err = "Unknown type name: " + typeName; return false; } + displayCustomTypeInfo = true; registeredTypes.set(type); return true; } \ No newline at end of file From fb241578222f6e61a86a8935b76db8dfb99d20ce Mon Sep 17 00:00:00 2001 From: zhangjiequan Date: Fri, 23 Feb 2024 11:56:46 +0800 Subject: [PATCH 6/7] style: Replace spaces with tabs for consistent indentation across files --- emmy_debugger/src/debugger/emmy_debugger.cpp | 34 ++++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/emmy_debugger/src/debugger/emmy_debugger.cpp b/emmy_debugger/src/debugger/emmy_debugger.cpp index 5f8f9dc..20887d4 100644 --- a/emmy_debugger/src/debugger/emmy_debugger.cpp +++ b/emmy_debugger/src/debugger/emmy_debugger.cpp @@ -1431,25 +1431,25 @@ void Debugger::ExecuteOnLuaThread(const Executor &exec) { } int Debugger::GetTypeFromName(const char* typeName) { - if (strcmp(typeName, "nil") == 0) return LUA_TNIL; - if (strcmp(typeName, "boolean") == 0) return LUA_TBOOLEAN; - if (strcmp(typeName, "lightuserdata") == 0) return LUA_TLIGHTUSERDATA; - if (strcmp(typeName, "number") == 0) return LUA_TNUMBER; - if (strcmp(typeName, "string") == 0) return LUA_TSTRING; - if (strcmp(typeName, "table") == 0) return LUA_TTABLE; - if (strcmp(typeName, "function") == 0) return LUA_TFUNCTION; - if (strcmp(typeName, "userdata") == 0) return LUA_TUSERDATA; - if (strcmp(typeName, "thread") == 0) return LUA_TTHREAD; - return -1; // 未知类型 + if (strcmp(typeName, "nil") == 0) return LUA_TNIL; + if (strcmp(typeName, "boolean") == 0) return LUA_TBOOLEAN; + if (strcmp(typeName, "lightuserdata") == 0) return LUA_TLIGHTUSERDATA; + if (strcmp(typeName, "number") == 0) return LUA_TNUMBER; + if (strcmp(typeName, "string") == 0) return LUA_TSTRING; + if (strcmp(typeName, "table") == 0) return LUA_TTABLE; + if (strcmp(typeName, "function") == 0) return LUA_TFUNCTION; + if (strcmp(typeName, "userdata") == 0) return LUA_TUSERDATA; + if (strcmp(typeName, "thread") == 0) return LUA_TTHREAD; + return -1; // 未知类型 } bool Debugger::RegisterTypeName(const std::string& typeName, std::string& err) { - int type = GetTypeFromName(typeName.c_str()); - if (type == -1) { - err = "Unknown type name: " + typeName; - return false; - } + int type = GetTypeFromName(typeName.c_str()); + if (type == -1) { + err = "Unknown type name: " + typeName; + return false; + } displayCustomTypeInfo = true; - registeredTypes.set(type); - return true; + registeredTypes.set(type); + return true; } \ No newline at end of file From e8bfb0e7b6fa41da0804cab2eeff43dd889b0d98 Mon Sep 17 00:00:00 2001 From: zhangjiequan Date: Fri, 23 Feb 2024 12:04:37 +0800 Subject: [PATCH 7/7] style: Replace spaces with tabs for consistent indentation across files --- emmy_debugger/src/debugger/extension_point.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emmy_debugger/src/debugger/extension_point.cpp b/emmy_debugger/src/debugger/extension_point.cpp index e048384..ea50bd8 100644 --- a/emmy_debugger/src/debugger/extension_point.cpp +++ b/emmy_debugger/src/debugger/extension_point.cpp @@ -140,7 +140,7 @@ bool ExtensionPoint::QueryVariableGeneric(lua_State *L, Idx variable, result = lua_toboolean(L, -1); } else { const auto err = lua_tostring(L, -1); - printf("query error in %s: %s\n", queryFunction, err); + printf("query error in %s: %s\n", queryFunction, err); } } } @@ -150,11 +150,11 @@ bool ExtensionPoint::QueryVariableGeneric(lua_State *L, Idx variable, } bool ExtensionPoint::QueryVariable(lua_State *L, Idx variable, const char *typeName, int object, int depth) { - return QueryVariableGeneric(L, variable, typeName, object, depth, "queryVariable"); + return QueryVariableGeneric(L, variable, typeName, object, depth, "queryVariable"); } bool ExtensionPoint::QueryVariableCustom(lua_State *L, Idx variable, const char *typeName, int object, int depth) { - return QueryVariableGeneric(L, variable, typeName, object, depth, "queryVariableCustom"); + return QueryVariableGeneric(L, variable, typeName, object, depth, "queryVariableCustom"); } lua_State *ExtensionPoint::QueryParentThread(lua_State *L) {