diff --git a/src/system/kernel/arch/x86/arch_debug.cpp b/src/system/kernel/arch/x86/arch_debug.cpp index 5b479c2a56..b7bb283f28 100644 --- a/src/system/kernel/arch/x86/arch_debug.cpp +++ b/src/system/kernel/arch/x86/arch_debug.cpp @@ -239,7 +239,7 @@ print_demangled_call(const char* image, const char* symbol, addr_t args, if (type == B_STRING_TYPE) { if (value == 0) kprintf(" \33[31m\"\"\33[0m"); - else if (user_strlcpy(buffer, (char*)value, kBufferSize) < B_OK) + else if (debug_strlcpy(buffer, (char*)value, kBufferSize) < B_OK) kprintf(" \33[31m\"\"\33[0m"); else kprintf(" \33[36m\"%s\"\33[0m", buffer); diff --git a/src/system/kernel/elf.cpp b/src/system/kernel/elf.cpp index 2b26cefeaf..4c4b0f9028 100644 --- a/src/system/kernel/elf.cpp +++ b/src/system/kernel/elf.cpp @@ -1465,6 +1465,8 @@ public: if (!IS_USER_ADDRESS(address)) return false; + if (debug_debugger_running()) + return debug_strlcpy(buffer, address, bufferSize) >= 0; return user_strlcpy(buffer, address, bufferSize) >= 0; } @@ -1486,6 +1488,8 @@ UserSymbolLookup::_Read(const T* address, T& data) if (!IS_USER_ADDRESS(address)) return false; + if (debug_debugger_running()) + return debug_memcpy(&data, address, sizeof(T)) == B_OK; return user_memcpy(&data, address, sizeof(T)) == B_OK; }