Warning, /kdevelop/kdev-valgrind/tools/helgrind/helgrind_configpage.ui is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <ui version="4.0">
0003  <class>Valgrind::HelgrindConfigPage</class>
0004  <widget class="QWidget" name="Valgrind::HelgrindConfigPage">
0005   <property name="geometry">
0006    <rect>
0007     <x>0</x>
0008     <y>0</y>
0009     <width>469</width>
0010     <height>380</height>
0011    </rect>
0012   </property>
0013   <layout class="QVBoxLayout" name="verticalLayout">
0014    <item>
0015     <widget class="QGroupBox" name="groupBox">
0016      <layout class="QVBoxLayout" name="verticalLayout_2">
0017       <item>
0018        <layout class="QFormLayout" name="formLayout">
0019         <item row="0" column="0">
0020          <widget class="QLabel" name="historyLevelLabel">
0021           <property name="text">
0022            <string>History level:</string>
0023           </property>
0024          </widget>
0025         </item>
0026         <item row="1" column="0">
0027          <widget class="QLabel" name="conflictCacheSizeLabel">
0028           <property name="text">
0029            <string>Conflict cache size:</string>
0030           </property>
0031           <property name="buddy">
0032            <cstring>kcfg_conflictCacheSize</cstring>
0033           </property>
0034          </widget>
0035         </item>
0036         <item row="1" column="1">
0037          <widget class="QSpinBox" name="kcfg_conflictCacheSize">
0038           <property name="toolTip">
0039            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This flag only has any effect at &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;--history-level=full&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;Information about &amp;quot;old&amp;quot; conflicting accesses is stored in a cache of limited size, with LRU-style management. This is necessary because it isn't practical to store a stack trace for every single memory access made by the program. Historical information on not recently accessed locations is periodically discarded, to free up space in the cache.&lt;/p&gt;&lt;p&gt;This option controls the size of the cache, in terms of the number of different memory addresses for which conflicting access information is stored. If you find that Helgrind is showing race errors with only one stack instead of the expected two stacks, try increasing this value.&lt;/p&gt;&lt;p&gt;The minimum value is 10,000 and the maximum is 30,000,000 (thirty times the default value). Increasing the value by 1 increases Helgrind's memory requirement by very roughly 100 bytes, so the maximum value will easily eat up three extra gigabytes or so of memory.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0040           </property>
0041          </widget>
0042         </item>
0043         <item row="2" column="0">
0044          <widget class="QLabel" name="extraArgsLabel">
0045           <property name="text">
0046            <string>Extra parameters:</string>
0047           </property>
0048           <property name="buddy">
0049            <cstring>kcfg_extraArgs</cstring>
0050           </property>
0051          </widget>
0052         </item>
0053         <item row="2" column="1">
0054          <widget class="QLineEdit" name="kcfg_extraArgs">
0055           <property name="clearButtonEnabled">
0056            <bool>true</bool>
0057           </property>
0058          </widget>
0059         </item>
0060         <item row="0" column="1">
0061          <widget class="Valgrind::ComboBox" name="kcfg_historyLevel"/>
0062         </item>
0063        </layout>
0064       </item>
0065       <item>
0066        <widget class="Line" name="line">
0067         <property name="orientation">
0068          <enum>Qt::Horizontal</enum>
0069         </property>
0070        </widget>
0071       </item>
0072       <item>
0073        <widget class="QCheckBox" name="kcfg_trackLockorders">
0074         <property name="enabled">
0075          <bool>true</bool>
0076         </property>
0077         <property name="toolTip">
0078          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When enabled (the default), Helgrind performs lock order consistency checking. For some buggy programs, the large number of lock order errors reported can become annoying, particularly if you're only interested in race errors. You may therefore find it helpful to disable lock order checking.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0079         </property>
0080         <property name="text">
0081          <string>Track lock orders</string>
0082         </property>
0083        </widget>
0084       </item>
0085       <item>
0086        <widget class="QCheckBox" name="kcfg_checkStackRefs">
0087         <property name="toolTip">
0088          <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
0089 &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
0090 p, li { white-space: pre-wrap; }
0091 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:14pt; font-weight:400; font-style:normal;&quot;&gt;
0092 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;By default Helgrind checks all data memory accesses made by your program. This flag enables you to skip checking for accesses to thread stacks (local variables). This can improve performance, but comes at the cost of missing races on stack-allocated data.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0093         </property>
0094         <property name="text">
0095          <string>Check stack refs</string>
0096         </property>
0097        </widget>
0098       </item>
0099       <item>
0100        <widget class="QCheckBox" name="kcfg_ignoreThreadCreation">
0101         <property name="toolTip">
0102          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Controls whether all activities during thread creation should be ignored. By default enabled only on Solaris. Solaris provides higher throughput, parallelism and scalability than other operating systems, at the cost of more fine-grained locking activity. This means for example that when a thread is created under glibc, just one big lock is used for all thread setup. Solaris libc uses several fine-grained locks and the creator thread resumes its activities as soon as possible, leaving for example stack and TLS setup sequence to the created thread. This situation confuses Helgrind as it assumes there is some false ordering in place between creator and created thread; and therefore many types of race conditions in the application would not be reported. To prevent such false ordering, this command line option is set to yes by default on Solaris. All activity (loads, stores, client requests) is therefore ignored during:&lt;/p&gt;&lt;p&gt;* pthread_create() call in the creator thread&lt;/p&gt;&lt;p&gt;* thread creation phase (stack and TLS setup) in the created thread&lt;/p&gt;&lt;p&gt;Also new memory allocated during thread creation is untracked, that is race reporting is suppressed there. DRD does the same thing implicitly. This is necessary because Solaris libc caches many objects and reuses them for different threads and that confuses Helgrind.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0103         </property>
0104         <property name="text">
0105          <string>Ignore thread creation</string>
0106         </property>
0107        </widget>
0108       </item>
0109       <item>
0110        <widget class="QCheckBox" name="kcfg_freeIsWrite">
0111         <property name="enabled">
0112          <bool>true</bool>
0113         </property>
0114         <property name="toolTip">
0115          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When enabled (not the default), Helgrind treats freeing of heap memory as if the memory was written immediately before the free. This exposes races where memory is referenced by one thread, and freed by another, but there is no observable synchronization event to ensure that the reference happens before the free.&lt;/p&gt;&lt;p&gt;This functionality is new in Valgrind 3.7.0, and is regarded as experimental. It is not enabled by default because its interaction with custom memory allocators is not well understood at present. User feedback is welcomed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0116         </property>
0117         <property name="text">
0118          <string>Free is write (experimental)</string>
0119         </property>
0120        </widget>
0121       </item>
0122       <item>
0123        <widget class="Line" name="line_2">
0124         <property name="orientation">
0125          <enum>Qt::Horizontal</enum>
0126         </property>
0127        </widget>
0128       </item>
0129       <item>
0130        <widget class="QCheckBox" name="kcfg_showInstructionPointer">
0131         <property name="text">
0132          <string>Show stack frame instruction pointer value</string>
0133         </property>
0134        </widget>
0135       </item>
0136      </layout>
0137     </widget>
0138    </item>
0139    <item>
0140     <spacer>
0141      <property name="orientation">
0142       <enum>Qt::Vertical</enum>
0143      </property>
0144      <property name="sizeHint" stdset="0">
0145       <size>
0146        <width>20</width>
0147        <height>71</height>
0148       </size>
0149      </property>
0150     </spacer>
0151    </item>
0152   </layout>
0153  </widget>
0154  <customwidgets>
0155   <customwidget>
0156    <class>Valgrind::ComboBox</class>
0157    <extends>QComboBox</extends>
0158    <header>core/widgets/combobox.h</header>
0159   </customwidget>
0160  </customwidgets>
0161  <tabstops>
0162   <tabstop>kcfg_historyLevel</tabstop>
0163   <tabstop>kcfg_conflictCacheSize</tabstop>
0164   <tabstop>kcfg_extraArgs</tabstop>
0165   <tabstop>kcfg_trackLockorders</tabstop>
0166   <tabstop>kcfg_checkStackRefs</tabstop>
0167   <tabstop>kcfg_ignoreThreadCreation</tabstop>
0168   <tabstop>kcfg_freeIsWrite</tabstop>
0169   <tabstop>kcfg_showInstructionPointer</tabstop>
0170  </tabstops>
0171  <resources/>
0172  <connections/>
0173 </ui>