Warning, /kdevelop/kdev-valgrind/tools/drd/drd_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::DrdConfigPage</class>
0004  <widget class="QWidget" name="Valgrind::DrdConfigPage">
0005   <property name="geometry">
0006    <rect>
0007     <x>0</x>
0008     <y>0</y>
0009     <width>676</width>
0010     <height>558</height>
0011    </rect>
0012   </property>
0013   <layout class="QVBoxLayout" name="verticalLayout_2">
0014    <item>
0015     <widget class="QGroupBox" name="groupBox">
0016      <layout class="QFormLayout" name="formLayout">
0017       <item row="0" column="0">
0018        <widget class="QLabel" name="joinListVolLabel">
0019         <property name="text">
0020          <string>Joined threads memory access list volume:</string>
0021         </property>
0022         <property name="buddy">
0023          <cstring>kcfg_joinListVol</cstring>
0024         </property>
0025        </widget>
0026       </item>
0027       <item row="0" column="1">
0028        <widget class="QSpinBox" name="kcfg_joinListVol">
0029         <property name="toolTip">
0030          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Data races that occur between a statement at the end of one thread and another thread can be missed if memory access information is discarded immediately after a thread has been joined. This option allows to specify for how many joined threads memory access information should be retained.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0031         </property>
0032        </widget>
0033       </item>
0034       <item row="3" column="0">
0035        <widget class="QLabel" name="segmentMergingIntervalLabel">
0036         <property name="text">
0037          <string>Segment merging interval:</string>
0038         </property>
0039        </widget>
0040       </item>
0041       <item row="3" column="1">
0042        <widget class="QSpinBox" name="kcfg_segmentMergingInterval">
0043         <property name="toolTip">
0044          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Perform segment merging only after the specified number of new segments have been created. This is an advanced configuration option that allows to choose whether to minimize DRD's memory usage by choosing a low value or to let DRD run faster by choosing a slightly higher value. The optimal value for this parameter depends on the program being analyzed. The default value works well for most programs.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0045         </property>
0046        </widget>
0047       </item>
0048       <item row="4" column="0">
0049        <widget class="QLabel" name="extraArgsLabel">
0050         <property name="text">
0051          <string>Extra parameters:</string>
0052         </property>
0053         <property name="buddy">
0054          <cstring>kcfg_extraArgs</cstring>
0055         </property>
0056        </widget>
0057       </item>
0058       <item row="4" column="1">
0059        <widget class="QLineEdit" name="kcfg_extraArgs">
0060         <property name="clearButtonEnabled">
0061          <bool>true</bool>
0062         </property>
0063        </widget>
0064       </item>
0065      </layout>
0066     </widget>
0067    </item>
0068    <item>
0069     <widget class="QTabWidget" name="tabWidget">
0070      <property name="currentIndex">
0071       <number>0</number>
0072      </property>
0073      <widget class="QWidget" name="tab">
0074       <attribute name="title">
0075        <string>Common options</string>
0076       </attribute>
0077       <layout class="QVBoxLayout" name="verticalLayout">
0078        <item>
0079         <widget class="QCheckBox" name="kcfg_checkStackVar">
0080          <property name="toolTip">
0081           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Controls whether DRD detects data races on stack variables. Verifying stack variables is disabled by default because most programs do not share stack variables over threads.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0082          </property>
0083          <property name="text">
0084           <string>Detect data races on stack variables</string>
0085          </property>
0086         </widget>
0087        </item>
0088        <item>
0089         <widget class="QCheckBox" name="kcfg_firstRaceOnly">
0090          <property name="toolTip">
0091           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Whether to report only the first data race that has been detected on a memory location or all data races that have been detected on a memory location.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0092          </property>
0093          <property name="text">
0094           <string>Report only the first data race</string>
0095          </property>
0096         </widget>
0097        </item>
0098        <item>
0099         <widget class="QCheckBox" name="kcfg_freeIsWrite">
0100          <property name="enabled">
0101           <bool>true</bool>
0102          </property>
0103          <property name="toolTip">
0104           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Whether to report races between accessing memory and freeing memory. Enabling this option may cause DRD to run slightly slower. Notes:&lt;/p&gt;&lt;p&gt;Don't enable this option when using custom memory allocators that use the &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;VG_USERREQ__MALLOCLIKE_BLOCK&lt;/span&gt; and &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;VG_USERREQ__FREELIKE_BLOCK&lt;/span&gt; because that would result in false positives. &lt;/p&gt;&lt;p&gt;Don't enable this option when using reference-counted objects because that will result in false positives, even when that code has been annotated properly with &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;ANNOTATE_HAPPENS_BEFORE&lt;/span&gt; and &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;ANNOTATE_HAPPENS_AFTER&lt;/span&gt;. See e.g. the output of the following command for an example: &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;valgrind --tool=drd --free-is-write=yes drd/tests/annotate_smart_pointer&lt;/span&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0105          </property>
0106          <property name="text">
0107           <string>Report races between accessing and freeing memory</string>
0108          </property>
0109         </widget>
0110        </item>
0111        <item>
0112         <widget class="QCheckBox" name="kcfg_reportSignalUnlocked">
0113          <property name="toolTip">
0114           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Whether to report calls to &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;pthread_cond_signal&lt;/span&gt; and &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;pthread_cond_broadcast&lt;/span&gt; where the mutex associated with the signal through &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;pthread_cond_wait&lt;/span&gt; or &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;pthread_cond_timed_wait&lt;/span&gt; is not locked at the time the signal is sent. Sending a signal without holding a lock on the associated mutex is a common programming error which can cause subtle race conditions and unpredictable behavior. There exist some uncommon synchronization patterns however where it is safe to send a signal without holding a lock on the associated mutex.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0115          </property>
0116          <property name="text">
0117           <string>Report calls to unlocked signals</string>
0118          </property>
0119         </widget>
0120        </item>
0121        <item>
0122         <widget class="QCheckBox" name="kcfg_segmentMerging">
0123          <property name="toolTip">
0124           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Controls segment merging. Segment merging is an algorithm to limit memory usage of the data race detection algorithm. Disabling segment merging may improve the accuracy of the so-called 'other segments' displayed in race reports but can also trigger an out of memory error.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0125          </property>
0126          <property name="text">
0127           <string>Segment merging</string>
0128          </property>
0129         </widget>
0130        </item>
0131        <item>
0132         <widget class="QCheckBox" name="kcfg_showConflSeg">
0133          <property name="toolTip">
0134           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Show conflicting segments in race reports. Since this information can help to find the cause of a data race, this option is enabled by default. Disabling this option makes the output of DRD more compact.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0135          </property>
0136          <property name="text">
0137           <string>Show conflicting segments</string>
0138          </property>
0139         </widget>
0140        </item>
0141        <item>
0142         <widget class="QCheckBox" name="kcfg_showStackUsage">
0143          <property name="toolTip">
0144           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Print stack usage at thread exit time. When a program creates a large number of threads it becomes important to limit the amount of virtual memory allocated for thread stacks. This option makes it possible to observe how much stack memory has been used by each thread of the client program.&lt;/p&gt;&lt;p&gt;Note: the DRD tool itself allocates some temporary data on the client thread stack. The space necessary for this temporary data must be allocated by the client program when it allocates stack memory, but is not included in stack usage reported by DRD.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0145          </property>
0146          <property name="text">
0147           <string>Show stack usage</string>
0148          </property>
0149         </widget>
0150        </item>
0151        <item>
0152         <widget class="QCheckBox" name="kcfg_ignoreThreadCreation">
0153          <property name="toolTip">
0154           <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 DRD 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 &lt;span style=&quot; font-family:'Monospace';&quot;&gt;yes&lt;/span&gt; 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;/body&gt;&lt;/html&gt;</string>
0155          </property>
0156          <property name="text">
0157           <string>Ignore thread creation</string>
0158          </property>
0159         </widget>
0160        </item>
0161        <item>
0162         <widget class="Line" name="line">
0163          <property name="orientation">
0164           <enum>Qt::Horizontal</enum>
0165          </property>
0166         </widget>
0167        </item>
0168        <item>
0169         <widget class="QCheckBox" name="kcfg_showInstructionPointer">
0170          <property name="text">
0171           <string>Show stack frame instruction pointer value</string>
0172          </property>
0173         </widget>
0174        </item>
0175        <item>
0176         <spacer>
0177          <property name="orientation">
0178           <enum>Qt::Vertical</enum>
0179          </property>
0180          <property name="sizeHint" stdset="0">
0181           <size>
0182            <width>20</width>
0183            <height>0</height>
0184           </size>
0185          </property>
0186         </spacer>
0187        </item>
0188       </layout>
0189      </widget>
0190      <widget class="QWidget" name="tracesTab">
0191       <attribute name="title">
0192        <string>Trace options</string>
0193       </attribute>
0194       <layout class="QVBoxLayout" name="verticalLayout_3">
0195        <item>
0196         <widget class="QCheckBox" name="kcfg_traceAlloc">
0197          <property name="toolTip">
0198           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Trace all memory allocations and deallocations. May produce a huge amount of output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0199          </property>
0200          <property name="text">
0201           <string>Trace memory allocations/deallocations</string>
0202          </property>
0203         </widget>
0204        </item>
0205        <item>
0206         <widget class="QCheckBox" name="kcfg_traceBarrier">
0207          <property name="toolTip">
0208           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Trace all barrier activity.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0209          </property>
0210          <property name="text">
0211           <string>Trace barrier activity</string>
0212          </property>
0213         </widget>
0214        </item>
0215        <item>
0216         <widget class="QCheckBox" name="kcfg_traceCond">
0217          <property name="toolTip">
0218           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Trace all condition variable activity.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0219          </property>
0220          <property name="text">
0221           <string>Trace condition variable activity</string>
0222          </property>
0223         </widget>
0224        </item>
0225        <item>
0226         <widget class="QCheckBox" name="kcfg_traceForkJoin">
0227          <property name="toolTip">
0228           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Trace all thread creation and all thread termination events.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0229          </property>
0230          <property name="text">
0231           <string>Trace thread creation/termination events</string>
0232          </property>
0233         </widget>
0234        </item>
0235        <item>
0236         <widget class="QCheckBox" name="kcfg_traceHb">
0237          <property name="toolTip">
0238           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Trace execution of the &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;ANNOTATE_HAPPENS_BEFORE()&lt;/span&gt;, &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;ANNOTATE_HAPPENS_AFTER()&lt;/span&gt; and &lt;span style=&quot; font-family:'Monospace'; font-weight:600; font-style:italic;&quot;&gt;ANNOTATE_HAPPENS_DONE()&lt;/span&gt; client requests.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0239          </property>
0240          <property name="text">
0241           <string>Trace execution of &quot;ANNOTATE_HAPPENS&quot; requests</string>
0242          </property>
0243         </widget>
0244        </item>
0245        <item>
0246         <widget class="QCheckBox" name="kcfg_traceMutex">
0247          <property name="toolTip">
0248           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Trace all mutex activity.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0249          </property>
0250          <property name="text">
0251           <string>Trace mutex activity</string>
0252          </property>
0253         </widget>
0254        </item>
0255        <item>
0256         <widget class="QCheckBox" name="kcfg_traceRwlock">
0257          <property name="toolTip">
0258           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Trace all reader-writer lock activity.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0259          </property>
0260          <property name="text">
0261           <string>Trace reader-writer lock activity</string>
0262          </property>
0263         </widget>
0264        </item>
0265        <item>
0266         <widget class="QCheckBox" name="kcfg_traceSemaphore">
0267          <property name="toolTip">
0268           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Trace all semaphore activity.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
0269          </property>
0270          <property name="text">
0271           <string>Trace semaphore activity</string>
0272          </property>
0273         </widget>
0274        </item>
0275        <item>
0276         <spacer name="verticalSpacer">
0277          <property name="orientation">
0278           <enum>Qt::Vertical</enum>
0279          </property>
0280          <property name="sizeHint" stdset="0">
0281           <size>
0282            <width>20</width>
0283            <height>0</height>
0284           </size>
0285          </property>
0286         </spacer>
0287        </item>
0288       </layout>
0289      </widget>
0290     </widget>
0291    </item>
0292    <item>
0293     <spacer name="verticalSpacer_2">
0294      <property name="orientation">
0295       <enum>Qt::Vertical</enum>
0296      </property>
0297      <property name="sizeHint" stdset="0">
0298       <size>
0299        <width>20</width>
0300        <height>52</height>
0301       </size>
0302      </property>
0303     </spacer>
0304    </item>
0305   </layout>
0306  </widget>
0307  <tabstops>
0308   <tabstop>kcfg_joinListVol</tabstop>
0309   <tabstop>kcfg_segmentMergingInterval</tabstop>
0310   <tabstop>kcfg_extraArgs</tabstop>
0311   <tabstop>tabWidget</tabstop>
0312   <tabstop>kcfg_checkStackVar</tabstop>
0313   <tabstop>kcfg_firstRaceOnly</tabstop>
0314   <tabstop>kcfg_freeIsWrite</tabstop>
0315   <tabstop>kcfg_reportSignalUnlocked</tabstop>
0316   <tabstop>kcfg_segmentMerging</tabstop>
0317   <tabstop>kcfg_showConflSeg</tabstop>
0318   <tabstop>kcfg_showStackUsage</tabstop>
0319   <tabstop>kcfg_ignoreThreadCreation</tabstop>
0320   <tabstop>kcfg_showInstructionPointer</tabstop>
0321   <tabstop>kcfg_traceAlloc</tabstop>
0322   <tabstop>kcfg_traceBarrier</tabstop>
0323   <tabstop>kcfg_traceCond</tabstop>
0324   <tabstop>kcfg_traceForkJoin</tabstop>
0325   <tabstop>kcfg_traceHb</tabstop>
0326   <tabstop>kcfg_traceMutex</tabstop>
0327   <tabstop>kcfg_traceRwlock</tabstop>
0328   <tabstop>kcfg_traceSemaphore</tabstop>
0329  </tabstops>
0330  <resources/>
0331  <connections/>
0332 </ui>