mirror of
https://github.com/epasveer/seer.git
synced 2026-08-31 01:20:45 +08:00
More work with RR direct mode.
This commit is contained in:
+36
-17
@@ -191,15 +191,19 @@ SeerMainWindow::SeerMainWindow(QWidget* parent) : QMainWindow(parent) {
|
||||
|
||||
handleRecordSettingsChanged();
|
||||
|
||||
//
|
||||
// Initialize contents.
|
||||
//
|
||||
|
||||
// Restore window settings.
|
||||
readSettings();
|
||||
|
||||
// Restore configuration settings.
|
||||
readConfigSettings();
|
||||
|
||||
//
|
||||
// Initialize contents.
|
||||
//
|
||||
// Show the main window.
|
||||
show();
|
||||
|
||||
handleShowMessage("Welcome to Seer. The All Knowing...", 3000);
|
||||
}
|
||||
|
||||
@@ -324,12 +328,12 @@ const QString& SeerMainWindow::executableConnectHostPort () const {
|
||||
return gdbWidget->executableConnectHostPort();
|
||||
}
|
||||
|
||||
void SeerMainWindow::setExecutableRRHostPort (const QString& executableRRHostPort) {
|
||||
gdbWidget->setExecutableRRHostPort(executableRRHostPort);
|
||||
void SeerMainWindow::setExecutableRRTraceDirectory (const QString& executableRRTraceDirectory) {
|
||||
gdbWidget->setExecutableRRTraceDirectory(executableRRTraceDirectory);
|
||||
}
|
||||
|
||||
const QString& SeerMainWindow::executableRRHostPort () const {
|
||||
return gdbWidget->executableRRHostPort();
|
||||
const QString& SeerMainWindow::executableRRTraceDirectory () const {
|
||||
return gdbWidget->executableRRTraceDirectory();
|
||||
}
|
||||
|
||||
void SeerMainWindow::setExecutableCoreFilename (const QString& executableCoreFilename) {
|
||||
@@ -402,8 +406,7 @@ void SeerMainWindow::launchExecutable (const QString& launchMode, const QString&
|
||||
actionGdbRun->setVisible(false);
|
||||
actionGdbStart->setVisible(false);
|
||||
|
||||
//gdbWidget->handleGdbRRExecutable();
|
||||
gdbWidget->handleGdbDirectRRExecutable();
|
||||
gdbWidget->handleGdbRRExecutable();
|
||||
|
||||
}else if (launchMode == "corefile") {
|
||||
|
||||
@@ -461,7 +464,7 @@ void SeerMainWindow::handleFileDebug () {
|
||||
dlg.setNonStopMode(executableNonStopMode());
|
||||
dlg.setAttachPid(executablePid());
|
||||
dlg.setConnectHostPort(executableConnectHostPort());
|
||||
dlg.setRRHostPort(executableRRHostPort());
|
||||
dlg.setRRTraceDirectory(executableRRTraceDirectory());
|
||||
dlg.setCoreFilename(executableCoreFilename());
|
||||
dlg.setLaunchMode(executableLaunchMode());
|
||||
dlg.setBreakpointMode(executableBreakMode());
|
||||
@@ -495,7 +498,7 @@ void SeerMainWindow::handleFileDebug () {
|
||||
setExecutableNonStopMode(dlg.nonStopMode());
|
||||
setExecutablePid(dlg.attachPid());
|
||||
setExecutableConnectHostPort(dlg.connectHostPort());
|
||||
setExecutableRRHostPort(dlg.rrHostPort());
|
||||
setExecutableRRTraceDirectory(dlg.rrTraceDirectory());
|
||||
setExecutableCoreFilename(dlg.coreFilename());
|
||||
setExecutablePreGdbCommands(dlg.preGdbCommands());
|
||||
setExecutablePostGdbCommands(dlg.postGdbCommands());
|
||||
@@ -600,6 +603,9 @@ void SeerMainWindow::handleSettingsConfiguration () {
|
||||
|
||||
SeerConfigDialog dlg(this);
|
||||
|
||||
dlg.setSeerConsoleMode(gdbWidget->consoleMode());
|
||||
dlg.setSeerConsoleScrollLines(gdbWidget->consoleScrollLines());
|
||||
dlg.setSeerRememberManualCommandCount(gdbWidget->rememberManualCommandCount());
|
||||
dlg.setGdbProgram(gdbWidget->gdbProgram());
|
||||
dlg.setGdbArguments(gdbWidget->gdbArguments());
|
||||
dlg.setGdbAsyncMode(gdbWidget->gdbAsyncMode());
|
||||
@@ -629,9 +635,6 @@ void SeerMainWindow::handleSettingsConfiguration () {
|
||||
dlg.setAssemblyShowSourceLines(gdbWidget->assemblyShowSourceLines());
|
||||
dlg.setAssemblyRegisterFormat(gdbWidget->assemblyRegisterFormat());
|
||||
dlg.setAssemblyDisassemblyMode(gdbWidget->assemblyDisassemblyMode(), gdbWidget->assemblyDisassemblyBytes());
|
||||
dlg.setSeerConsoleMode(gdbWidget->consoleMode());
|
||||
dlg.setSeerConsoleScrollLines(gdbWidget->consoleScrollLines());
|
||||
dlg.setSeerRememberManualCommandCount(gdbWidget->rememberManualCommandCount());
|
||||
dlg.setKeySettings(keySettings());
|
||||
|
||||
int ret = dlg.exec();
|
||||
@@ -641,6 +644,9 @@ void SeerMainWindow::handleSettingsConfiguration () {
|
||||
}
|
||||
|
||||
// Update the GdbWidget with the new settings.
|
||||
gdbWidget->setConsoleMode(dlg.seerConsoleMode());
|
||||
gdbWidget->setConsoleScrollLines(dlg.seerConsoleScrollLines());
|
||||
gdbWidget->setRememberManualCommandCount(dlg.seerRememberManualCommandCount());
|
||||
gdbWidget->setGdbProgram(dlg.gdbProgram());
|
||||
gdbWidget->setGdbArguments(dlg.gdbArguments());
|
||||
gdbWidget->setGdbAsyncMode(dlg.gdbAsyncMode());
|
||||
@@ -669,9 +675,9 @@ void SeerMainWindow::handleSettingsConfiguration () {
|
||||
gdbWidget->setAssemblyShowSourceLines(dlg.assemblyShowSourceLines());
|
||||
gdbWidget->setAssemblyRegisterFormat(dlg.assemblyRegisterFormat());
|
||||
gdbWidget->setAssemblyDisassemblyMode(dlg.assemblyDisassemblyMode(), dlg.assemblyDisassemblyBytes());
|
||||
gdbWidget->setConsoleMode(dlg.seerConsoleMode());
|
||||
gdbWidget->setConsoleScrollLines(dlg.seerConsoleScrollLines());
|
||||
gdbWidget->setRememberManualCommandCount(dlg.seerRememberManualCommandCount());
|
||||
gdbWidget->setRRProgram(dlg.rrProgram());
|
||||
gdbWidget->setRRArguments(dlg.rrArguments());
|
||||
gdbWidget->setRRGdbArguments(dlg.rrGdbArguments());
|
||||
|
||||
// Clear history, if we need to.
|
||||
bool clearManualCommandHistory = dlg.seerClearManualCommandHistory();
|
||||
@@ -711,6 +717,7 @@ void SeerMainWindow::handleHelpAbout () {
|
||||
}
|
||||
|
||||
void SeerMainWindow::handleRunExecutable () {
|
||||
|
||||
gdbWidget->handleGdbRunExecutable("none");
|
||||
}
|
||||
|
||||
@@ -1178,6 +1185,12 @@ void SeerMainWindow::writeConfigSettings () {
|
||||
settings.setValue("enableprettyprinting", gdbWidget->gdbEnablePrettyPrinting());
|
||||
} settings.endGroup();
|
||||
|
||||
settings.beginGroup("rr"); {
|
||||
settings.setValue("program", gdbWidget->rrProgram());
|
||||
settings.setValue("arguments", gdbWidget->rrArguments());
|
||||
settings.setValue("gdbarguments", gdbWidget->rrGdbArguments());
|
||||
} settings.endGroup();
|
||||
|
||||
settings.beginGroup("printpoints"); {
|
||||
settings.setValue("style", gdbWidget->dprintfStyle());
|
||||
settings.setValue("function", gdbWidget->dprintfFunction());
|
||||
@@ -1253,6 +1266,12 @@ void SeerMainWindow::readConfigSettings () {
|
||||
gdbWidget->setGdbEnablePrettyPrinting(settings.value("enableprettyprinting", true).toBool());
|
||||
} settings.endGroup();
|
||||
|
||||
settings.beginGroup("rr"); {
|
||||
gdbWidget->setRRProgram(settings.value("program", "/usr/bin/rr").toString());
|
||||
gdbWidget->setRRArguments(settings.value("arguments", "replay --interpreter=mi").toString());
|
||||
gdbWidget->setRRArguments(settings.value("gdbarguments", "").toString());
|
||||
} settings.endGroup();
|
||||
|
||||
settings.beginGroup("printpoints"); {
|
||||
gdbWidget->setDprintfStyle(settings.value("style", "gdb").toString());
|
||||
gdbWidget->setDprintfFunction(settings.value("function", "printf").toString());
|
||||
|
||||
Reference in New Issue
Block a user