MCPcopy Create free account
hub / github.com/Vector35/debugger / copy

Method copy

ui/threadframes.cpp:482–535  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

480
481
482void ThreadFramesWidget::copy()
483{
484 QModelIndexList sel = selectionModel()->selectedIndexes();
485 if (sel.empty() || !sel[0].isValid())
486 return;
487
488 FrameItem* item = static_cast<FrameItem*>(sel[0].internalPointer());
489 if (!item)
490 return;
491
492 QString text;
493
494 switch (sel[0].column())
495 {
496 case ThreadFrameModel::StateColumn:
497 if (item->isFrame())
498 return;
499
500 text = item->isFrozen() ? "Frozen" : "Unfrozen";
501 break;
502 case ThreadFrameModel::ThreadColumn:
503 if (item->isFrame())
504 return;
505
506 text = QString::asprintf("0x%x @ 0x%" PRIx64, item->tid(), item->threadPc());
507 break;
508 case ThreadFrameModel::FrameIndexColumn:
509 text = QString::asprintf("%lu", item->frameIndex());
510 break;
511 case ThreadFrameModel::ModuleColumn:
512 text = QString::fromStdString(item->module());
513 break;
514 case ThreadFrameModel::FunctionColumn:
515 text = QString::fromStdString(item->function());
516 break;
517 case ThreadFrameModel::PcColumn:
518 text = QString::asprintf("0x%" PRIx64, item->framePc());
519 break;
520 case ThreadFrameModel::SpColumn:
521 text = QString::asprintf("0x%" PRIx64, item->sp());
522 break;
523 case ThreadFrameModel::FpColumn:
524 text = QString::asprintf("0x%" PRIx64, item->fp());
525 break;
526 default:
527 break;
528 }
529
530 auto* clipboard = QGuiApplication::clipboard();
531 clipboard->clear();
532 auto* mime = new QMimeData();
533 mime->setText(text);
534 clipboard->setMimeData(mime);
535}
536
537
538ThreadFramesWidget::ThreadFramesWidget(QWidget* parent, ViewFrame* frame, BinaryViewRef data) :

Callers 1

build.pyFile · 0.45

Calls 10

isFrameMethod · 0.80
isFrozenMethod · 0.80
tidMethod · 0.80
threadPcMethod · 0.80
frameIndexMethod · 0.80
moduleMethod · 0.80
functionMethod · 0.80
framePcMethod · 0.80
spMethod · 0.80
fpMethod · 0.80

Tested by

no test coverage detected