add 'reason' argument to debug.pause

This commit is contained in:
MihailRis
2025-10-09 00:23:54 +03:00
parent 972181022a
commit 33a5410ca2
4 changed files with 17 additions and 6 deletions
+4 -1
View File
@@ -213,13 +213,16 @@ bool DebuggingServer::performCommand(
return false;
}
void DebuggingServer::pause(std::string&& message, dv::value&& stackTrace) {
void DebuggingServer::pause(
std::string&& reason, std::string&& message, dv::value&& stackTrace
) {
if (connection == nullptr) {
return;
}
if (stackTrace != nullptr) {
connection->send(dv::object({
{"type", std::string("hit-breakpoint")},
{"reason", std::move(reason)},
{"message", std::move(message)},
{"stack", std::move(stackTrace)}
}));
+3 -1
View File
@@ -73,7 +73,9 @@ namespace devtools {
~DebuggingServer();
bool update();
void pause(std::string&& message, dv::value&& stackTrace);
void pause(
std::string&& reason, std::string&& message, dv::value&& stackTrace
);
void sendValue(dv::value&& value, int frame, int local, ValuePath&& path);
+8 -2
View File
@@ -268,11 +268,17 @@ static dv::value create_stack_trace(lua::State* L, int initFrame = 2) {
static int l_debug_pause(lua::State* L) {
if (auto server = engine->getDebuggingServer()) {
std::string reason;
std::string message;
if (lua::isstring(L, 1)) {
message = lua::tolstring(L, 1);
reason = lua::tolstring(L, 1);
}
server->pause(std::move(message), create_stack_trace(L));
if (lua::isstring(L, 2)) {
message = lua::tolstring(L, 2);
}
server->pause(
std::move(reason), std::move(message), create_stack_trace(L)
);
}
return 0;
}