Topic
  • 3 replies
  • Latest Post - ‏2013-10-18T07:01:45Z by AddisonLu
cameron99
cameron99
2 Posts

Pinned topic PP Selective Instrumentation bad stack?

‏2013-10-16T18:02:10Z |

I am trying to use Selective Instrumentation on VS2012 and PP 7.0.1

I am following TN 1194331 as best I can.

I have a managed console application, with the following properties:

 - It loads a native DLL which I wrote, and have configured  /MTd  [for Pinvoke usage]

- I have no mixed-mode assemblies, just a managed .EXE and a native .DLL

- My native DLL loads a 3rd party DLL [no source] , for which I do not know what CRT is used.

 

Operation does not get very far. The managed code PInvokes into the native code, which calls memmove, which works outside of Purify.

But under PP when the first native call to memmove occurs, the first instruction '  push    edi             ;U - save edi'   causes an exception.

I do not understand what is going on, but obviously the stack is not right at this point.

 

Any suggestions on how to proceed?

Thanks

Cameron

  • AddisonLu
    AddisonLu
    4 Posts

    Re: PP Selective Instrumentation bad stack?

    ‏2013-10-17T01:19:16Z  

    Hi Cameron,


    May I make clarification on this problem?
    1. What exactly version of your PPlus and built no.? You can find out it from command line:Purify -version or from UI about/version
    2. Is memmove in your own DLL code or in the 3rd party's DLL?
    3. What is the name of the 3rd-party DLL?
    4. Is this 3rd party DLL free available so we can download it somewhere for checking?
    5. What is your full compiling options?

    Thank you,

    Addison Lu
     

  • cameron99
    cameron99
    2 Posts

    Re: PP Selective Instrumentation bad stack?

    ‏2013-10-17T19:39:45Z  
    • AddisonLu
    • ‏2013-10-17T01:19:16Z

    Hi Cameron,


    May I make clarification on this problem?
    1. What exactly version of your PPlus and built no.? You can find out it from command line:Purify -version or from UI about/version
    2. Is memmove in your own DLL code or in the 3rd party's DLL?
    3. What is the name of the 3rd-party DLL?
    4. Is this 3rd party DLL free available so we can download it somewhere for checking?
    5. What is your full compiling options?

    Thank you,

    Addison Lu
     

    I am using Purify Plus 7.0.1.0-003

    memmove() is a standard C library function

    Please download a copy of my program to test it: http://limevideo.com/benchmark-tool?quick

    If you can get it to work with Purity Plus I will be thrilled, the module I am trying to instrument is quicksync.dll

    Regards,

    Cameron

  • AddisonLu
    AddisonLu
    4 Posts

    Re: PP Selective Instrumentation bad stack?

    ‏2013-10-18T07:01:45Z  
    • cameron99
    • ‏2013-10-17T19:39:45Z

    I am using Purify Plus 7.0.1.0-003

    memmove() is a standard C library function

    Please download a copy of my program to test it: http://limevideo.com/benchmark-tool?quick

    If you can get it to work with Purity Plus I will be thrilled, the module I am trying to instrument is quicksync.dll

    Regards,

    Cameron

    Hi Cameron,

    Downloaded your program but get error when run it: Failed to initialize Intel Media SDK. Make sure you have correct Intel video drivers, and hardware that supports Quick Sync video.

    Where can I get quicksync.dll program? I cannot find out on the net for downloading.

    Also since quicksync.dll is 3rd party program with no source code nor debug information, I wonder why you are interesting in instrument it at all?

    Regards,

    Addison