MCPcopy Create free account
hub / github.com/IChooseYou/Reclass / selectTarget

Method selectTarget

plugins/WinDbgMemory/WinDbgMemoryPlugin.cpp:435–501  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

433}
434
435bool WinDbgMemoryPlugin::selectTarget(QWidget* parent, QString* target)
436{
437 QDialog dlg(parent);
438 dlg.setWindowTitle("WinDbg Settings");
439 dlg.resize(460, 260);
440
441 QPalette dlgPal = qApp->palette();
442 dlg.setPalette(dlgPal);
443 dlg.setAutoFillBackground(true);
444
445 auto* layout = new QVBoxLayout(&dlg);
446
447 layout->addWidget(new QLabel(
448 "Connect to a running WinDbg debug server.\n"
449 "In WinDbg, run: .server tcp:port=5055"));
450
451 layout->addSpacing(8);
452 layout->addWidget(new QLabel("Connection string:"));
453 auto* connEdit = new QLineEdit;
454 connEdit->setPlaceholderText("tcp:Port=5055,Server=localhost");
455 connEdit->setText("tcp:Port=5055,Server=localhost");
456 layout->addWidget(connEdit);
457
458 layout->addSpacing(4);
459 layout->addWidget(new QLabel("Run one of these in WinDbg first:"));
460
461 auto addExample = [&](const QString& text) {
462 auto* row = new QHBoxLayout;
463 auto* label = new QLabel(text);
464 QPalette lp = dlgPal;
465 lp.setColor(QPalette::WindowText, dlgPal.color(QPalette::Disabled, QPalette::WindowText));
466 label->setPalette(lp);
467 label->setTextInteractionFlags(Qt::TextSelectableByMouse);
468 row->addWidget(label, 1);
469 auto* copyBtn = new QPushButton("Copy");
470 copyBtn->setFixedWidth(50);
471 copyBtn->setToolTip("Copy to clipboard");
472 QObject::connect(copyBtn, &QPushButton::clicked, [text]() {
473 QGuiApplication::clipboard()->setText(text);
474 });
475 row->addWidget(copyBtn);
476 layout->addLayout(row);
477 };
478
479 addExample(".server tcp:port=5055");
480 addExample(".server npipe:pipe=reclass");
481 layout->addStretch();
482
483 auto* btnLayout = new QHBoxLayout;
484 btnLayout->addStretch();
485 auto* okBtn = new QPushButton("OK");
486 auto* cancelBtn = new QPushButton("Cancel");
487 btnLayout->addWidget(okBtn);
488 btnLayout->addWidget(cancelBtn);
489 layout->addLayout(btnLayout);
490
491 QObject::connect(okBtn, &QPushButton::clicked, &dlg, &QDialog::accept);
492 QObject::connect(cancelBtn, &QPushButton::clicked, &dlg, &QDialog::reject);

Callers 1

connectEditorMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected