}
Mainwindow::Mainwindow(InformationManager* mgr)
- : manager(mgr) {
+ : manager(mgr)
+ , logger(log4cxx::Logger::getLogger("Mainwindow")) {
openAction = new QAction(tr("&Open"), this);
// saveAction = new QAction(tr("&Save"), this);
exitAction = new QAction(tr("E&xit"), this);
Disassembler * dis = manager->getDisassembler();
BasicBlock * block = dis->getBasicBlock(fun->getStartAddress());
+ uint64_t start_address(std::numeric_limits<uint64_t>::max());
+ for (auto b : fun->blocks()) {
+ if (b.first < start_address)
+ start_address = b.first;
+ }
+
local__add_basic_block(block, manager->getDisassembler(), blocks, scene,
- block->getStartAddress(), 100);
+ start_address, 100);
QGraphicsView * view = new QGraphicsView(scene);
w->addTab(view, "CFG");
block->getEndAddress(),
[&](uint8_t* bytes,
size_t byte_count,
- const std::string& line) {
- widget->addItem(bytes, byte_count, line.c_str() + 1);
+ const std::string& line,
+ const std::string& ref) {
+ widget->addItem(bytes, byte_count,
+ line.c_str() + 1, // remove \t
+ ref.c_str());
});
BasicBlockWidget *tmp, *nextl(NULL), *nextr(NULL);