<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Debugging faulty applications using IPP in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825257#M5130</link>
    <description>Take a break, Simon!&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN style="text-decoration: underline;"&gt;PS:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR /&gt;Could you provide more technical information, like:&lt;BR /&gt;&lt;BR /&gt; Did your application crash?&lt;BR /&gt; Did you have an &lt;STRONG&gt;Access Violation&lt;/STRONG&gt;?&lt;BR /&gt; What &lt;STRONG&gt;IPP&lt;/STRONG&gt; functions are you using?&lt;BR /&gt; Did you &lt;SPAN style="text-decoration: underline;"&gt;try to comment some pieces of codes&lt;/SPAN&gt; in order to find a "bad code", &lt;SPAN style="text-decoration: underline;"&gt;instead of debugging&lt;/SPAN&gt;?&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;BR /&gt;</description>
    <pubDate>Wed, 25 Jan 2012 02:06:16 GMT</pubDate>
    <dc:creator>SergeyKostrov</dc:creator>
    <dc:date>2012-01-25T02:06:16Z</dc:date>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825248#M5121</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I appear to have made a small mistake in one of my applications, and passed an invalid pointer. Unfortunately, the call stack only lists IPP and, a few frames down, one of the framework classes; the code that is actually at fault is not shown, as the stack cannot be decoded.&lt;BR /&gt;&lt;BR /&gt;I can sort of work around the problem by manually adjusting the stack pointer in the debugger, but I am wondering if there was a way to get the debugger to understand the stack.&lt;BR /&gt;&lt;BR /&gt; Simon</description>
      <pubDate>Tue, 24 Jan 2012 07:08:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825248#M5121</guid>
      <dc:creator>simonjrichter</dc:creator>
      <dc:date>2012-01-24T07:08:04Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825249#M5122</link>
      <description>Hi Simon,&lt;DIV&gt;Are you executing a debug version of your application ("-g" for Linux, "/Od /Zi" for Windows) ?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Jan 2012 08:28:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825249#M5122</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2012-01-24T08:28:01Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825250#M5123</link>
      <description>Hi Sergey,&lt;BR /&gt;&lt;BR /&gt;yes, I am. When I manually unwind the stack, I can go back to my code and fully debug it; however the IPP library does not come with unwind information, so the debugger cannot walk the stackhere, so it resorts to scanning the stack for something that resembles a valid stack frame.&lt;BR /&gt;&lt;BR /&gt; Simon</description>
      <pubDate>Tue, 24 Jan 2012 09:47:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825250#M5123</guid>
      <dc:creator>simonjrichter</dc:creator>
      <dc:date>2012-01-24T09:47:43Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825251#M5124</link>
      <description>Simon, could you show several lines of stack dump? As far as I remember, stack dump is almost always ok, except when application crashes within threaded IPP function. In this case, on Windows for example, the top of stack often points to NT DLLs or some other system DLLs.&lt;DIV&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Jan 2012 11:49:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825251#M5124</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2012-01-24T11:49:00Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825252#M5125</link>
      <description>&lt;P&gt;Sergey,&lt;BR /&gt;&lt;BR /&gt;sure:&lt;/P&gt;&lt;P&gt;&lt;PRE&gt;ippsp8-7.0.dll!105ec0c7()
[Frames below may be incorrect and/or missing, no symbols loaded for ippsp8-7.0.dll]
ippsp8-7.0.dll!1044daea()
CalcSequence.dll!CSequence::run() Line 2143 + 0xd bytes C++&lt;/PRE&gt;&lt;/P&gt;&lt;P&gt;[...]&lt;BR /&gt;&lt;BR /&gt;CSequence is a container that keeps a list of pointers to objects that represent individual actions, "run()" invokes these in turn. What is missing between the last undecoded stack frame from IPP and the first one shown is at least one virtual method call.&lt;BR /&gt;&lt;BR /&gt; Simon&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jan 2012 12:55:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825252#M5125</guid>
      <dc:creator>simonjrichter</dc:creator>
      <dc:date>2012-01-24T12:55:45Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825253#M5126</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1327416499421="55" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=550894" href="https://community.intel.com/en-us/profile/550894/" class="basic"&gt;simonjrichter&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;I&gt;&lt;P&gt;Sergey,&lt;BR /&gt;&lt;BR /&gt;sure:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/I&gt;&lt;PRE&gt;&lt;I&gt;ippsp8-7.0.dll!105ec0c7()
[Frames below may be incorrect and/or missing, &lt;SPAN style="text-decoration: underline;"&gt;no symbols loaded for ippsp8-7.0.dll&lt;/SPAN&gt;]
ippsp8-7.0.dll!1044daea()
CalcSequence.dll!CSequence::run() Line 2143 + 0xd bytes C++&lt;/I&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[...]&lt;BR /&gt;&lt;BR /&gt;CSequence is a container that keeps a list of pointers to objects that represent individual actions, "run()" invokes these in turn. What is missing between the last undecoded stack frame from IPP and the first one shown is at least one virtual method call.&lt;BR /&gt;&lt;BR /&gt; Simon&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;BR /&gt;A message clearly shows you that '&lt;STRONG&gt;no symbols loaded for ippsp8-7.0.dll&lt;/STRONG&gt;'.&lt;BR /&gt;&lt;BR /&gt;You need a &lt;STRONG&gt;pdb-file&lt;/STRONG&gt; for the DLL you're trying to debug or step-intoin order to see all symbols, etc.&lt;BR /&gt;&lt;STRONG&gt;&lt;BR /&gt;Microsoft&lt;/STRONG&gt; providesadditional &lt;STRONG&gt;Debug Symbols packs&lt;/STRONG&gt;for all &lt;STRONG&gt;Windows&lt;/STRONG&gt; operating systemswith &lt;STRONG&gt;pdb-files&lt;BR /&gt;&lt;/STRONG&gt;for almost all system DLLs and when installedmore details are seen in a Debugger.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Intel&lt;/STRONG&gt; doesn't provide it for &lt;STRONG&gt;IPP&lt;/STRONG&gt;, correct?&lt;BR /&gt;&lt;BR /&gt;I would bettertry to find a piece of code "responsible" for a problem.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Jan 2012 15:01:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825253#M5126</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-01-24T15:01:24Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825254#M5127</link>
      <description>&lt;P&gt;Sergey,&lt;BR /&gt;&lt;BR /&gt;I am aware that there are no PDB files for IPP (which is a true shame, as it is certainly possible to strip these down to just the bare minimum needed to unwind a stack in the presence of variable length stack frames). PDBs for all system libraries and project DLLs are already present.&lt;BR /&gt;&lt;BR /&gt;As I'm fairly certain that others have had the same problem, I'd be interested if there is a known workaround. During the course of two hours, I could manually unwind the stack by following frame pointers (and some guessing for fixed-size frames) -- but I hardly think this is a viable approach should I ever run into this problem again.&lt;BR /&gt;&lt;BR /&gt; Simon&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jan 2012 15:46:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825254#M5127</guid>
      <dc:creator>simonjrichter</dc:creator>
      <dc:date>2012-01-24T15:46:26Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825255#M5128</link>
      <description>Simon, is it essential, that you debug your application with dynamic IPP linking?&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;DIV&gt;I would start debugging with static linking to merged IPP libraries (ipp*_l.lib) and, after application gets OK, just would turn on dynamic libs. There is nothing special happening with the stack, the only feature is smart dispatching, when a call to a generic IPP function is passed via simple JUMP to the function specific for current CPU architecture (like p8 = "SSE4.1 in 32-bit" mode in your case).&lt;/DIV&gt;&lt;DIV&gt;If the size of application under debug is critical, you can inlude "ipp_p8.h" instead of plain ipp.h and link your application to the merged static libraries (*_l). Then linker will take function clones specific for P8 architecture. The function names will have p8_ or v8_ (if there is no p8_ version) prefixes in their names.&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Sergey&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Jan 2012 16:13:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825255#M5128</guid>
      <dc:creator>Sergey_K_Intel</dc:creator>
      <dc:date>2012-01-24T16:13:39Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825256#M5129</link>
      <description>Sergey,&lt;BR /&gt;&lt;BR /&gt;if those libraries contain the necessary debug information to give proper stackframes, it might be worth a shot. I can try this tomorrow (I've been at work for 12 hours straight staring at hexdumps).&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt; Simon</description>
      <pubDate>Tue, 24 Jan 2012 17:21:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825256#M5129</guid>
      <dc:creator>simonjrichter</dc:creator>
      <dc:date>2012-01-24T17:21:39Z</dc:date>
    </item>
    <item>
      <title>Debugging faulty applications using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825257#M5130</link>
      <description>Take a break, Simon!&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN style="text-decoration: underline;"&gt;PS:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;BR /&gt;Could you provide more technical information, like:&lt;BR /&gt;&lt;BR /&gt; Did your application crash?&lt;BR /&gt; Did you have an &lt;STRONG&gt;Access Violation&lt;/STRONG&gt;?&lt;BR /&gt; What &lt;STRONG&gt;IPP&lt;/STRONG&gt; functions are you using?&lt;BR /&gt; Did you &lt;SPAN style="text-decoration: underline;"&gt;try to comment some pieces of codes&lt;/SPAN&gt; in order to find a "bad code", &lt;SPAN style="text-decoration: underline;"&gt;instead of debugging&lt;/SPAN&gt;?&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;BR /&gt;</description>
      <pubDate>Wed, 25 Jan 2012 02:06:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Debugging-faulty-applications-using-IPP/m-p/825257#M5130</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-01-25T02:06:16Z</dc:date>
    </item>
  </channel>
</rss>

