mirror of
https://github.com/epasveer/seer.git
synced 2026-08-30 17:10:44 +08:00
341 lines
15 KiB
XML
341 lines
15 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>SeerAssemblyConfigPage</class>
|
|
<widget class="QWidget" name="SeerAssemblyConfigPage">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>926</width>
|
|
<height>694</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>SeerAssemblyConfigPage</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_2">
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item row="0" column="0">
|
|
<widget class="QGroupBox" name="printPointGroupBox">
|
|
<property name="title">
|
|
<string>Assembly Settings</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="0" column="0" colspan="4">
|
|
<widget class="QCheckBox" name="assemblyTabOnStartupCheckBox">
|
|
<property name="text">
|
|
<string>Show Assembly tab on Seer startup</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="5">
|
|
<spacer name="horizontalSpacer_7">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>616</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="1" column="0" colspan="3">
|
|
<widget class="QCheckBox" name="assemblyTabOnTopCheckBox">
|
|
<property name="text">
|
|
<string>Keep Assembly tab on top</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="5">
|
|
<spacer name="horizontalSpacer_8">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>616</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="2" column="4" colspan="2">
|
|
<spacer name="verticalSpacer_1">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Fixed</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QLabel" name="disassemblyFlavorLabel">
|
|
<property name="text">
|
|
<string>Disassembly Flavor</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<spacer name="horizontalSpacer_1">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Fixed</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>27</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="3" column="2">
|
|
<widget class="QRadioButton" name="attFlavorRadioButton">
|
|
<property name="text">
|
|
<string>att</string>
|
|
</property>
|
|
<attribute name="buttonGroup">
|
|
<string notr="true">disassemblyFlavorButtonGroup</string>
|
|
</attribute>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="3" colspan="2">
|
|
<widget class="QRadioButton" name="intelFlavorRadioButton">
|
|
<property name="text">
|
|
<string>intel</string>
|
|
</property>
|
|
<attribute name="buttonGroup">
|
|
<string notr="true">disassemblyFlavorButtonGroup</string>
|
|
</attribute>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="5">
|
|
<spacer name="horizontalSpacer_5">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Preferred</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>616</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="4" column="0">
|
|
<widget class="QLabel" name="symbolDemanglingLabel">
|
|
<property name="text">
|
|
<string>Symbol Demangling</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="1">
|
|
<spacer name="horizontalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Fixed</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>27</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="4" column="2">
|
|
<widget class="QRadioButton" name="demanglingOnRadioButton">
|
|
<property name="text">
|
|
<string>on</string>
|
|
</property>
|
|
<attribute name="buttonGroup">
|
|
<string notr="true">assemblyDemangleButtonGroup</string>
|
|
</attribute>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="3">
|
|
<widget class="QRadioButton" name="demanglingOffRadioButton">
|
|
<property name="text">
|
|
<string>off</string>
|
|
</property>
|
|
<attribute name="buttonGroup">
|
|
<string notr="true">assemblyDemangleButtonGroup</string>
|
|
</attribute>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="5">
|
|
<spacer name="horizontalSpacer_6">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Preferred</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>616</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="5" column="4" colspan="2">
|
|
<spacer name="verticalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Fixed</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="6" column="0">
|
|
<widget class="QLabel" name="registerFormatLabel">
|
|
<property name="text">
|
|
<string>Register Format</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="6" column="1">
|
|
<spacer name="horizontalSpacer_3">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Fixed</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>27</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="6" column="2" colspan="2">
|
|
<widget class="QComboBox" name="registerFormatComboBox">
|
|
<item>
|
|
<property name="text">
|
|
<string>Natural</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Hex</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Octal</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Binary</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Decimal</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Raw</string>
|
|
</property>
|
|
</item>
|
|
</widget>
|
|
</item>
|
|
<item row="6" column="5">
|
|
<spacer name="horizontalSpacer_4">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Preferred</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>616</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QTextBrowser" name="textBrowser">
|
|
<property name="html">
|
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
|
p, li { white-space: pre-wrap; }
|
|
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Set various Assembly and Register settings.</span></p>
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" background-color:transparent;">Seer can show the program's assembly as a tab in the Code Manager. The Assembly tab can be shown automatically when Seer starts, or it can always be shown with:</span></p>
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Monospace';"> View-&gt;Assembly View</span></p>
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Monospace';"><br /></p>
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" background-color:transparent;">When enabled, the Assembly tab will tend to stay in the background (ie:hidden by any Source tabs) as the program is stepped through. If set, the Assembly tab can be forced to always stay on top, even while stepping through the program. Manually clicking on the tabs will still raise them, though.</span></p>
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" background-color:transparent;">When presenting the assembly, there are 2 flavors. 'att' and 'intel'.</span></p>
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Monospace';"> att: mov 0xc(%ebp),%eax<br /> intel: mov eax, DWORDPTR [ebp+0xc]</span></p>
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Monospace';"><br /></p>
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" background-color:transparent;">When printing certain symbols, the mangled or demangled symbol names can be printed.</span></p>
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Monospace';"> mangled: callq 0x4007b8 &lt;_ZNSolsEPFRSoS_E@plt&gt;<br /> demanlged: callq 0x4007b8 &lt;std::ostream::operator&lt;&lt;(std::ostream&amp;(*)(std::ostream&amp;))@plt&gt;</span></p>
|
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Monospace';"><br /></p>
|
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" background-color:transparent;">In the Register browser, register values can be shown in various formats:</span></p>
|
|
<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style="" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" background-color:transparent;">Natural (A predefined format, based on the register name)</span></li>
|
|
<li style=" background-color:transparent;" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Hex</li>
|
|
<li style=" background-color:transparent;" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Octal</li>
|
|
<li style=" background-color:transparent;" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Binary</li>
|
|
<li style=" background-color:transparent;" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Decimal</li>
|
|
<li style=" background-color:transparent;" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Raw</li></ul></body></html></string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
<zorder>textBrowser</zorder>
|
|
<zorder>printPointGroupBox</zorder>
|
|
</widget>
|
|
<resources>
|
|
<include location="resource.qrc"/>
|
|
</resources>
|
|
<connections/>
|
|
<buttongroups>
|
|
<buttongroup name="assemblyDemangleButtonGroup"/>
|
|
<buttongroup name="disassemblyFlavorButtonGroup"/>
|
|
</buttongroups>
|
|
</ui>
|