1
0
Fork 0

commiting to try to compile with Qt

This commit is contained in:
Abel Romero Pérez 2019-05-25 02:56:51 +02:00
parent 1f89eddd51
commit 13499df71d
12 changed files with 514 additions and 12419 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,71 +0,0 @@
0x04242420 CLRDBG_NOTIFICATION_EXCEPTION_CODE
0x40000005 STATUS_SEGMENT_NOTIFICATION
0x40000015 STATUS_FATAL_APP_EXIT
0x4000001C STATUS_WX86_UNSIMULATE
0x4000001D STATUS_WX86_CONTINUE
0x4000001E STATUS_WX86_SINGLE_STEP
0x4000001F STATUS_WX86_BREAKPOINT
0x40000020 STATUS_WX86_EXCEPTION_CONTINUE
0x40000021 STATUS_WX86_EXCEPTION_LASTCHANCE
0x40000022 STATUS_WX86_EXCEPTION_CHAIN
0x40000028 STATUS_WX86_CREATEWX86TIB
0x40010003 DBG_TERMINATE_THREAD
0x40010004 DBG_TERMINATE_PROCESS
0x40010005 DBG_CONTROL_C
0x40010006 DBG_PRINTEXCEPTION_C
0x40010007 DBG_RIPEXCEPTION
0x40010008 DBG_CONTROL_BREAK
0x40010009 DBG_COMMAND_EXCEPTION
0x4001000A DBG_PRINTEXCEPTION_WIDE_C
0x406D1388 MS_VC_EXCEPTION
0x80000001 EXCEPTION_GUARD_PAGE
0x80000002 EXCEPTION_DATATYPE_MISALIGNMENT
0x80000003 EXCEPTION_BREAKPOINT
0x80000004 EXCEPTION_SINGLE_STEP
0x80000026 STATUS_LONGJUMP
0x80000029 STATUS_UNWIND_CONSOLIDATE
0x80010001 DBG_EXCEPTION_NOT_HANDLED
0xC0000005 EXCEPTION_ACCESS_VIOLATION
0xC0000006 EXCEPTION_IN_PAGE_ERROR
0xC0000008 EXCEPTION_INVALID_HANDLE
0xC000000D STATUS_INVALID_PARAMETER
0xC0000017 STATUS_NO_MEMORY
0xC000001D EXCEPTION_ILLEGAL_INSTRUCTION
0xC0000025 EXCEPTION_NONCONTINUABLE_EXCEPTION
0xC0000026 EXCEPTION_INVALID_DISPOSITION
0xC000008C EXCEPTION_ARRAY_BOUNDS_EXCEEDED
0xC000008D EXCEPTION_FLT_DENORMAL_OPERAND
0xC000008E EXCEPTION_FLT_DIVIDE_BY_ZERO
0xC000008F EXCEPTION_FLT_INEXACT_RESULT
0xC0000090 EXCEPTION_FLT_INVALID_OPERATION
0xC0000091 EXCEPTION_FLT_OVERFLOW
0xC0000092 EXCEPTION_FLT_STACK_CHECK
0xC0000093 EXCEPTION_FLT_UNDERFLOW
0xC0000094 EXCEPTION_INT_DIVIDE_BY_ZERO
0xC0000095 EXCEPTION_INT_OVERFLOW
0xC0000096 EXCEPTION_PRIV_INSTRUCTION
0xC00000FD EXCEPTION_STACK_OVERFLOW
0xC0000135 STATUS_DLL_NOT_FOUND
0xC0000138 STATUS_ORDINAL_NOT_FOUND
0xC0000139 STATUS_ENTRYPOINT_NOT_FOUND
0xC000013A STATUS_CONTROL_C_EXIT
0xC0000142 STATUS_DLL_INIT_FAILED
0xC000014A STATUS_ILLEGAL_FLOAT_CONTEXT
0xC0000194 EXCEPTION_POSSIBLE_DEADLOCK
0xC00001A5 STATUS_INVALID_EXCEPTION_HANDLER
0xC00002B4 STATUS_FLOAT_MULTIPLE_FAULTS
0xC00002B5 STATUS_FLOAT_MULTIPLE_TRAPS
0xC00002C5 STATUS_DATATYPE_MISALIGNMENT_ERROR
0xC00002C9 STATUS_REG_NAT_CONSUMPTION
0xC0000374 STATUS_HEAP_CORRUPTION
0xC0000409 STATUS_STACK_BUFFER_OVERRUN
0xC0000417 STATUS_INVALID_CRUNTIME_PARAMETER
0xC000041D STATUS_USER_CALLBACK
0xC0000420 STATUS_ASSERTION_FAILURE
0xC015000F STATUS_SXS_EARLY_DEACTIVATION
0xC0150010 STATUS_SXS_INVALID_DEACTIVATION
0xE0434352 CLR_EXCEPTION
0xE06D7363 CPP_EH_EXCEPTION
0xC06D0057 VCPP_EXCEPTION_ERROR_INVALID_PARAMETER
0xC06D007E VCPP_EXCEPTION_ERROR_MOD_NOT_FOUND
0xC06D007F VCPP_EXCEPTION_ERROR_PROC_NOT_FOUND

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,5 +1,6 @@
#include "BreakpointsView.h"
#include "EditBreakpointDialog.h"
#include "EditBreakpointsDialog.h"
#include "Bridge.h"
#include "MenuBuilder.h"
#include "Breakpoints.h"
@ -68,6 +69,7 @@ void BreakpointsView::setupContextMenu()
return true;
});
mMenuBuilder->addAction(makeShortcutAction(DIcon("breakpoint_edit_alt.png"), tr("&Edit"), SLOT(editBreakpointSlot()), "ActionBinaryEdit"), validBp);
mMenuBuilder->addAction(makeShortcutAction(DIcon("breakpoint_edit_alt.png"), tr("Edit &selected"), SLOT(editBreakpointsSlots()), "ActionBinaryEdit"), validBp);
mMenuBuilder->addAction(makeShortcutAction(DIcon("breakpoint_reset_hitcount.png"), tr("Reset hit count"), SLOT(resetHitCountBreakpointSlot()), "ActionResetHitCountBreakpoint"), [this](QMenu*)
{
if(!isValidBp())
@ -660,6 +662,97 @@ void BreakpointsView::editBreakpointSlot()
}
}
void BreakpointsView::editBreakpointsSlots()
{
EditBreakpointsDialog dialog(this, "Edit Selected BreakPoints");
if(dialog.exec() != QDialog::Accepted)
return;
auto exec = [](const QString & command)
{
DbgCmdExecDirect(command.toUtf8().constData());
};
const BRIDGEBP & newBp = dialog.getBp();
for(int i : getSelection())
{
if(!isValidBp(i))
continue;
auto & bp = selectedBp(i);
QString addrText = QString().sprintf("\"%s\":$%X", bp.mod, bp.addr);
switch(bp.type)
{
case bp_normal:
exec(QString("SetBreakpointName %1, \"%2\"").arg(addrText).arg(newBp.name));
exec(QString("SetBreakpointCondition %1, \"%2\"").arg(addrText).arg(newBp.breakCondition));
exec(QString("SetBreakpointLog %1, \"%2\"").arg(addrText).arg(newBp.logText));
exec(QString("SetBreakpointLogCondition %1, \"%2\"").arg(addrText).arg(newBp.logCondition));
exec(QString("SetBreakpointCommand %1, \"%2\"").arg(addrText).arg(newBp.commandText));
exec(QString("SetBreakpointCommandCondition %1, \"%2\"").arg(addrText).arg(newBp.commandCondition));
exec(QString("ResetBreakpointHitCount %1, %2").arg(addrText).arg(ToPtrString(newBp.hitCount)));
exec(QString("SetBreakpointFastResume %1, %2").arg(addrText).arg(newBp.fastResume));
exec(QString("SetBreakpointSilent %1, %2").arg(addrText).arg(newBp.silent));
exec(QString("SetBreakpointSingleshoot %1, %2").arg(addrText).arg(newBp.singleshoot));
break;
case bp_hardware:
exec(QString("SetHardwareBreakpointName %1, \"%2\"").arg(addrText).arg(newBp.name));
exec(QString("SetHardwareBreakpointCondition %1, \"%2\"").arg(addrText).arg(newBp.breakCondition));
exec(QString("SetHardwareBreakpointLog %1, \"%2\"").arg(addrText).arg(newBp.logText));
exec(QString("SetHardwareBreakpointLogCondition %1, \"%2\"").arg(addrText).arg(newBp.logCondition));
exec(QString("SetHardwareBreakpointCommand %1, \"%2\"").arg(addrText).arg(newBp.commandText));
exec(QString("SetHardwareBreakpointCommandCondition %1, \"%2\"").arg(addrText).arg(newBp.commandCondition));
exec(QString("ResetHardwareBreakpointHitCount %1, %2").arg(addrText).arg(ToPtrString(newBp.hitCount)));
exec(QString("SetHardwareBreakpointFastResume %1, %2").arg(addrText).arg(newBp.fastResume));
exec(QString("SetHardwareBreakpointSilent %1, %2").arg(addrText).arg(newBp.silent));
exec(QString("SetHardwareBreakpointSingleshoot %1, %2").arg(addrText).arg(newBp.singleshoot));
case bp_memory:
exec(QString("SetMemoryBreakpointName %1, \"\"%2\"\"").arg(addrText).arg(newBp.name));
exec(QString("SetMemoryBreakpointCondition %1, \"%2\"").arg(addrText).arg(newBp.breakCondition));
exec(QString("SetMemoryBreakpointLog %1, \"%2\"").arg(addrText).arg(newBp.logText));
exec(QString("SetMemoryBreakpointLogCondition %1, \"%2\"").arg(addrText).arg(newBp.logCondition));
exec(QString("SetMemoryBreakpointCommand %1, \"%2\"").arg(addrText).arg(newBp.commandText));
exec(QString("SetMemoryBreakpointCommandCondition %1, \"%2\"").arg(addrText).arg(newBp.commandCondition));
exec(QString("ResetMemoryBreakpointHitCount %1, %2").arg(addrText).arg(ToPtrString(newBp.hitCount)));
exec(QString("SetMemoryBreakpointFastResume %1, %2").arg(addrText).arg(newBp.fastResume));
exec(QString("SetMemoryBreakpointSilent %1, %2").arg(addrText).arg(newBp.silent));
exec(QString("SetMemoryBreakpointSingleshoot %1, %2").arg(addrText).arg(newBp.singleshoot));
break;
case bp_dll:
exec(QString("SetLibrarianBreakpointName \"%1\", \"\"%2\"\"").arg(addrText).arg(bp.name));
exec(QString("SetLibrarianBreakpointCondition \"%1\", \"%2\"").arg(addrText).arg(bp.breakCondition));
exec(QString("SetLibrarianBreakpointLog \"%1\", \"%2\"").arg(addrText).arg(bp.logText));
exec(QString("SetLibrarianBreakpointLogCondition \"%1\", \"%2\"").arg(addrText).arg(bp.logCondition));
exec(QString("SetLibrarianBreakpointCommand \"%1\", \"%2\"").arg(addrText).arg(bp.commandText));
exec(QString("SetLibrarianBreakpointCommandCondition \"%1\", \"%2\"").arg(addrText).arg(bp.commandCondition));
exec(QString("ResetLibrarianBreakpointHitCount \"%1\", %2").arg(addrText).arg(ToPtrString(bp.hitCount)));
exec(QString("SetLibrarianBreakpointFastResume \"%1\", %2").arg(addrText).arg(bp.fastResume));
exec(QString("SetLibrarianBreakpointSilent \"%1\", %2").arg(addrText).arg(bp.silent));
exec(QString("SetLibrarianBreakpointSingleshoot \"%1\", %2").arg(addrText).arg(bp.singleshoot));
break;
case bp_exception:
exec(QString("SetExceptionBreakpointName %1, \"%2\"").arg(addrText).arg(bp.name));
exec(QString("SetExceptionBreakpointCondition %1, \"%2\"").arg(addrText).arg(bp.breakCondition));
exec(QString("SetExceptionBreakpointLog %1, \"%2\"").arg(addrText).arg(bp.logText));
exec(QString("SetExceptionBreakpointLogCondition %1, \"%2\"").arg(addrText).arg(bp.logCondition));
exec(QString("SetExceptionBreakpointCommand %1, \"%2\"").arg(addrText).arg(bp.commandText));
exec(QString("SetExceptionBreakpointCommandCondition %1, \"%2\"").arg(addrText).arg(bp.commandCondition));
exec(QString("ResetExceptionBreakpointHitCount %1, %2").arg(addrText).arg(ToPtrString(bp.hitCount)));
exec(QString("SetExceptionBreakpointFastResume %1, %2").arg(addrText).arg(bp.fastResume));
exec(QString("SetExceptionBreakpointSilent %1, %2").arg(addrText).arg(bp.silent));
exec(QString("SetExceptionBreakpointSingleshoot %1, %2").arg(addrText).arg(bp.singleshoot));
default:
break;
}
}
GuiUpdateBreakpointsView();
}
void BreakpointsView::resetHitCountBreakpointSlot()
{
for(int i : getSelection())

View File

@ -29,6 +29,7 @@ private slots:
void removeBreakpointSlot();
void toggleBreakpointSlot();
void editBreakpointSlot();
void editBreakpointsSlots();
void resetHitCountBreakpointSlot();
void enableAllBreakpointsSlot();
void disableAllBreakpointsSlot();

View File

@ -0,0 +1,101 @@
#include "EditBreakpointsDialog.h"
#include "ui_EditBreakpointsDialog.h"
#include "StringUtil.h"
#include "MiscUtil.h"
#include "Configuration.h"
EditBreakpointsDialog::EditBreakpointsDialog(QWidget* parent, QString winTitle)
: QDialog(parent),
ui(new Ui::EditBreakpointsDialog)
{
ui->setupUi(this);
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint | Qt::MSWindowsFixedSizeDialogHint);
setWindowTitle(winTitle);
setWindowIcon(DIcon("breakpoint.png"));
loadFromBp();
Config()->setupWindowPos(this);
}
EditBreakpointsDialog::~EditBreakpointsDialog()
{
Config()->saveWindowPos(this);
delete ui;
}
void EditBreakpointsDialog::loadFromBp()
{
ui->editName->setText(mBp.name);
ui->spinHitCount->setValue(mBp.hitCount);
ui->editBreakCondition->setText(mBp.breakCondition);
ui->checkBoxFastResume->setChecked(mBp.fastResume);
ui->checkBoxSilent->setChecked(mBp.silent);
ui->checkBoxSingleshoot->setChecked(mBp.singleshoot);
ui->editLogText->setText(mBp.logText);
ui->editLogCondition->setText(mBp.logCondition);
ui->editCommandText->setText(mBp.commandText);
ui->editCommandCondition->setText(mBp.commandCondition);
}
template<typename T>
void copyTruncate(T & dest, QString src)
{
src.replace(QChar('\\'), QString("\\\\"));
src.replace(QChar('"'), QString("\\\""));
strncpy_s(dest, src.toUtf8().constData(), _TRUNCATE);
}
void EditBreakpointsDialog::on_editName_textEdited(const QString & arg1)
{
copyTruncate(mBp.name, arg1);
}
void EditBreakpointsDialog::on_editBreakCondition_textEdited(const QString & arg1)
{
copyTruncate(mBp.breakCondition, arg1);
}
void EditBreakpointsDialog::on_editLogText_textEdited(const QString & arg1)
{
ui->checkBoxSilent->setChecked(true);
copyTruncate(mBp.logText, arg1);
}
void EditBreakpointsDialog::on_editLogCondition_textEdited(const QString & arg1)
{
copyTruncate(mBp.logCondition, arg1);
}
void EditBreakpointsDialog::on_editCommandText_textEdited(const QString & arg1)
{
copyTruncate(mBp.commandText, arg1);
}
void EditBreakpointsDialog::on_editCommandCondition_textEdited(const QString & arg1)
{
copyTruncate(mBp.commandCondition, arg1);
}
void EditBreakpointsDialog::on_checkBoxFastResume_toggled(bool checked)
{
mBp.fastResume = checked;
}
void EditBreakpointsDialog::on_spinHitCount_valueChanged(int arg1)
{
mBp.hitCount = arg1;
}
void EditBreakpointsDialog::on_checkBoxSilent_toggled(bool checked)
{
mBp.silent = checked;
}
void EditBreakpointsDialog::on_checkBoxSingleshoot_toggled(bool checked)
{
mBp.singleshoot = checked;
}

View File

@ -0,0 +1,43 @@
#ifndef EDITBREAKPOINTSDIALOG_H
#define EDITBREAKPOINTSDIALOG_H
#include <QDialog>
#include "Bridge.h"
namespace Ui
{
class EditBreakpointsDialog;
}
class EditBreakpointsDialog : public QDialog
{
Q_OBJECT
public:
explicit EditBreakpointsDialog(QWidget* parent, QString winTitle);
~EditBreakpointsDialog();
const BRIDGEBP & getBp()
{
return mBp;
}
private slots:
void on_editName_textEdited(const QString & arg1);
void on_editBreakCondition_textEdited(const QString & arg1);
void on_editLogText_textEdited(const QString & arg1);
void on_editLogCondition_textEdited(const QString & arg1);
void on_editCommandText_textEdited(const QString & arg1);
void on_editCommandCondition_textEdited(const QString & arg1);
void on_checkBoxFastResume_toggled(bool checked);
void on_spinHitCount_valueChanged(int arg1);
void on_checkBoxSilent_toggled(bool checked);
void on_checkBoxSingleshoot_toggled(bool checked);
private:
Ui::EditBreakpointsDialog* ui;
BRIDGEBP mBp;
void loadFromBp();
};
#endif // EDITBREAKPOINTSDIALOG_H

View File

@ -0,0 +1,270 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>EditBreakpointsDialog</class>
<widget class="QDialog" name="EditBreakpointsDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>506</width>
<height>223</height>
</rect>
</property>
<property name="windowTitle">
<string>Edit breakpoint</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<property name="horizontalSpacing">
<number>6</number>
</property>
<item row="1" column="0">
<widget class="QLabel" name="labelLogText">
<property name="text">
<string>&amp;Log Text:</string>
</property>
<property name="buddy">
<cstring>editLogText</cstring>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="labelBreakCondition">
<property name="text">
<string>&amp;Break Condition:</string>
</property>
<property name="buddy">
<cstring>editBreakCondition</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="editBreakCondition">
<property name="maxLength">
<number>255</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="editLogText">
<property name="maxLength">
<number>255</number>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="editName">
<property name="maxLength">
<number>255</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="editLogCondition">
<property name="maxLength">
<number>255</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelLogCondition">
<property name="text">
<string>Lo&amp;g Condition:</string>
</property>
<property name="buddy">
<cstring>editLogCondition</cstring>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="labelName">
<property name="text">
<string>&amp;Name:</string>
</property>
<property name="buddy">
<cstring>editName</cstring>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelCommandText">
<property name="text">
<string>&amp;Command Text:</string>
</property>
<property name="buddy">
<cstring>editCommandText</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="editCommandText">
<property name="maxLength">
<number>255</number>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="spinHitCount">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>2000000000</number>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="labelHitCount">
<property name="text">
<string>&amp;Hit Count:</string>
</property>
<property name="buddy">
<cstring>spinHitCount</cstring>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="labelCommandCondition">
<property name="text">
<string>C&amp;ommand Condition:</string>
</property>
<property name="buddy">
<cstring>editCommandCondition</cstring>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="editCommandCondition">
<property name="maxLength">
<number>255</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layoutSaveCancel">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="checkBoxSingleshoot">
<property name="text">
<string>Singlesho&amp;ot</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxSilent">
<property name="text">
<string>&amp;Silent</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxFastResume">
<property name="text">
<string>&amp;Fast Resume</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="buttonSave">
<property name="text">
<string>&amp;Save</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="buttonCancel">
<property name="text">
<string>C&amp;ancel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>editBreakCondition</tabstop>
<tabstop>editLogText</tabstop>
<tabstop>editLogCondition</tabstop>
<tabstop>editCommandText</tabstop>
<tabstop>editCommandCondition</tabstop>
<tabstop>editName</tabstop>
<tabstop>spinHitCount</tabstop>
<tabstop>checkBoxSingleshoot</tabstop>
<tabstop>checkBoxSilent</tabstop>
<tabstop>checkBoxFastResume</tabstop>
<tabstop>buttonSave</tabstop>
<tabstop>buttonCancel</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>buttonCancel</sender>
<signal>clicked()</signal>
<receiver>EditBreakpointsDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>397</x>
<y>442</y>
</hint>
<hint type="destinationlabel">
<x>462</x>
<y>441</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonSave</sender>
<signal>clicked()</signal>
<receiver>EditBreakpointsDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>279</x>
<y>435</y>
</hint>
<hint type="destinationlabel">
<x>321</x>
<y>442</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -183,7 +183,8 @@ SOURCES += \
Src/Gui/MultiItemsSelectWindow.cpp \
Src/BasicView/AbstractStdTable.cpp \
Src/Gui/ZehSymbolTable.cpp \
Src/BasicView/StdSearchListView.cpp
Src/BasicView/StdSearchListView.cpp \
Src/Gui/EditBreakpointsDialog.cpp
HEADERS += \
@ -303,7 +304,8 @@ HEADERS += \
Src/Gui/ZehSymbolTable.h \
Src/BasicView/AbstractSearchList.h \
Src/BasicView/StdSearchListView.h \
Src/Gui/FileLines.h
Src/Gui/FileLines.h \
Src/Gui/EditBreakpointsDialog.h
FORMS += \
@ -341,7 +343,8 @@ FORMS += \
Src/Gui/SimpleTraceDialog.ui \
Src/Gui/MessagesBreakpoints.ui \
Src/Gui/AboutDialog.ui \
Src/Gui/ComboBoxDialog.ui
Src/Gui/ComboBoxDialog.ui \
Src/Gui/EditBreakpointsDialog.ui
##
## Libraries