Merge remote-tracking branch 'origin/patch'

This commit is contained in:
Ryan Kurtz 2025-07-03 06:20:34 -04:00
commit 4df861c656
5 changed files with 14 additions and 8 deletions

View file

@ -1113,6 +1113,10 @@ public class DebuggerModulesProvider extends ComponentProviderAdapter
}
bestModule = module;
}
if (bestModule == null) {
setSelectedModules(Set.of());
return;
}
if (bestModule.getSections(snap).isEmpty()) {
setSelectedModules(Set.of(bestModule));
return;

View file

@ -182,7 +182,7 @@ public class SnapshotRow {
if (thread != null) {
return thread;
}
return getTime().getEventThread(trace);
return getTime().getLastThread(trace);
}
public String getEventThreadName() {

View file

@ -742,6 +742,8 @@ public class DebuggerEmulationServicePlugin extends Plugin implements DebuggerEm
destSnap.setDescription("Emulated");
try {
ce.emulator().writeDown(key.platform, destSnap.getKey(), key.time.getSnap());
TraceThread lastThread = key.time.getLastThread(key.trace);
destSnap.setEventThread(lastThread);
}
catch (Throwable e) {
Msg.showError(this, null, "Emulate",

View file

@ -643,7 +643,8 @@ public class ProgramEmulationUtils {
pc.getAddressSpace().isOverlaySpace() ? List.of(pc.getAddressSpace())
: List.of();
loadExecutable(initial, program, overlays);
doLaunchEmulationThread(trace, snap, program, pc, pc);
TraceThread thread = doLaunchEmulationThread(trace, snap, program, pc, pc);
initial.setEventThread(thread);
}
trace.clearUndo();
success = true;

View file

@ -4,17 +4,17 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import ghidra.app.plugin.core.debug.service.emulation.*;
import ghidra.app.plugin.processors.sleigh.SleighLanguage;
import ghidra.app.plugin.core.debug.service.emulation.BytesDebuggerPcodeEmulator;
import ghidra.app.plugin.core.debug.service.emulation.BytesDebuggerPcodeEmulatorFactory;
import ghidra.app.script.GhidraScript;
import ghidra.debug.api.emulation.DebuggerPcodeMachine;
import ghidra.debug.api.emulation.PcodeDebuggerAccess;
@ -30,8 +30,7 @@ public class InstallCustomLibraryScript extends GhidraScript implements FlatDebu
@Override
protected PcodeUseropLibrary<byte[]> createUseropLibrary() {
return super.createUseropLibrary()
.compose(new ModelingScript.SleighStdLibPcodeUseropLibrary<>(
(SleighLanguage) access.getLanguage()));
.compose(new ModelingScript.SleighStdLibPcodeUseropLibrary<>(getLanguage()));
}
}