diff --git a/tooling/agent/debugger_impl.cpp b/tooling/agent/debugger_impl.cpp index e61c2816613e1c1fee7c0bd90736d20e0e7c2464..d24ce70a82786765e15f19f8d9ca237355424784 100644 --- a/tooling/agent/debugger_impl.cpp +++ b/tooling/agent/debugger_impl.cpp @@ -1036,8 +1036,9 @@ std::unique_ptr DebuggerImpl::GetModuleScopeChain() .SetDescription(RemoteObject::ObjectDescription); moduleScope->SetType(Scope::Type::Module()).SetObject(std::move(module)); runtime_->properties_[runtime_->curObjectId_++] = Global(vm_, moduleObj); - JSThread *thread = vm_->GetJSThread(); - DebuggerApi::GetModuleVariables(vm_, moduleObj, thread); + JSTaggedValue currentModule = DebuggerApi::GetCurrentModule(vm_); + DebuggerApi::GetExportVariables(vm_, moduleObj, currentModule); + DebuggerApi::GetImportVariables(vm_, moduleObj, currentModule); return moduleScope; } diff --git a/tooling/backend/debugger_executor.cpp b/tooling/backend/debugger_executor.cpp index b1ae45a247dbc13853c53993cc1fd66439fa845c..312b5c3eafe73f968ec2a890e12be7aa4438a3d0 100644 --- a/tooling/backend/debugger_executor.cpp +++ b/tooling/backend/debugger_executor.cpp @@ -205,7 +205,14 @@ Local DebuggerExecutor::GetModuleValue(const EcmaVM *vm, const Frame { Local result; std::string varName = name->ToString(); - result = DebuggerApi::GetModuleValue(vm, frameHandler, varName); + Method *method = DebuggerApi::GetMethod(frameHandler); + const JSPandaFile *jsPandaFile = method->GetJSPandaFile(); + if (jsPandaFile != nullptr && jsPandaFile->IsBundlePack()) { + return result; + } + + JSTaggedValue currentModule = DebuggerApi::GetCurrentModule(vm); + result = DebuggerApi::GetModuleValue(vm, currentModule, varName); return result; } @@ -213,7 +220,14 @@ bool DebuggerExecutor::SetModuleValue(const EcmaVM *vm, const FrameHandler *fram Local name, Local value) { std::string varName = name->ToString(); - DebuggerApi::SetModuleValue(vm, frameHandler, varName, value); + Method *method = DebuggerApi::GetMethod(frameHandler); + const JSPandaFile *jsPandaFile = method->GetJSPandaFile(); + if (jsPandaFile != nullptr && jsPandaFile->IsBundlePack()) { + return -1; + } + + JSTaggedValue currentModule = DebuggerApi::GetCurrentModule(vm); + DebuggerApi::SetModuleValue(vm, currentModule, varName, value); return true; } } // namespace panda::ecmascript::tooling