Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.

Intel SDE and VS2013

Christian_M_2
Beginner
1,515 Views

Hello,

I try using Intel® Software Development Emulator with Visual Studio 2013 but I have troubles.

Try to start a debug session with SDE Debugger fails, saying my programme (of the visual studio project) could not be launched because of a missing component dll. CTRL + F5 will start the programm but it crashes soon.

Running SDE tool with my exes from a command is fine. But one of my shuffles seems wrong so I would like to inspect vector registers at a certain part. Any idea? Or is VS2013 not supported?

First, I thought it is because of using OpenCV too, but as it runs from command line. And even a main only test project with few AVX instructions fails.

0 Kudos
21 Replies
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

Can you please attach the screen shot with the error?

SDE supports both VS2012 and VS2013.

Regards,

Michael

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

Did you compile your application with VS or with other compiler like ICC?

Please add the location of the dll to PATH environment variable.

Regards,

Michael

0 Kudos
Christian_M_2
Beginner
1,362 Views

Any update on this subject?

Every hint is welcome? Currently, I wrote some debug output functions, and test small pieces of code, running them in SDE console and read my own "debug" output. Then do rework if necessary. But as it should be supported ...

// EDIT: It seems a more general problem, I tried it on a second pc, win 7 x64 and vs 2013. I get the same error.

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

The problem with the error message that it says that a DLL is missing but not which one.

You need to add both intel64 and ia32 directories to the path.

This way you will support both 32 and 64 bits application.

After you have modified the PATH variable you need to restart VS of course.

Regards,

Michael

0 Kudos
Christian_M_2
Beginner
1,362 Views

Hi,

ok I tried it out, but it does not help. I used a cmd window and it now finds pin.exe, so path should be correct.

Yes, too bad there is no dll name. If it was an application, I could use dependency walker or so, but some error message from within the IDE ...

So you can debug with SDE an VS?

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

I don't think that the problem with pin or sde dlls but with application dlls......

Can you please verify that PATH includes all the DLLs that are needed for your application?

Please to not forget to restart VS after PATH update.

Can you please attach the application binary here?

Thanks,

Michael

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views
0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

I have tested it and it worked for me both with VS2013 and VS2013.

I have attached a zip file with a VS solution.

Please do not forget to update the location of test.exe

Michael

 

0 Kudos
Christian_M_2
Beginner
1,362 Views

Hello,

thanks for your help. THe solution from you does not compile, there are missing files source files. Or do I have to select one specifi ZIP (you attached 7 zip files to the thread),.

What dou you mean by: Please do not forget to update the location of test.exe

And finally, the problem must be within Visual Studio and the addin. Using my attached project, and call sde.exe -- <mx exe> works finde and everything gets executed and printed as expected, though my processor has no AVX. So emulation of sde is working. Compiled code is finde, but the integration in VS seems to fail. But I have no clue, where and why.

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

You do not need to compile the solution.

All you need to do is to use it to debug your exe.

I have attached a screen shot of how to modify the test.exe location.

Michael

0 Kudos
Christian_M_2
Beginner
1,362 Views

Hallo,

ah now I know what you mean, but I still don't get it working, same error.

What features of VS2013 have you installed? I have a minimal install (all extras disabled in setup) as I only need bare C++ and sometimes littlet bit C#. Do you think this might cause it?

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

Have you configured the VS SDE plugin correctly according to the instructions?

It seems that something is not installed correctly in your environment.

Michael

0 Kudos
Christian_M_2
Beginner
1,362 Views

Hi,

VS is working without problems. Installed the SDE Debugger Integration.

in VS I got to Extras -> Options -> Intel SDE Debugger

and pointed it to the extracted directory, which is named sde-external-7.21.0-2015-04-01-win, where the ia32 and intel64 folders and the sde.exe are inside. Are there any additional steps?

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views
  1. SDE
  1. Home
  2. SDE
  3. Application Debugging

Application Debugging with SDE on Windows

 

We have created a new feature for SDE. You can now debug applications that run under SDE on Windows using Visual Studio 2012.  The experience is just like debugging a native application in Visual Studio, except that you are debugging an application as it is emulated by SDE.

CLICK HERE TO DOWNLOAD MSI INSTALLER VERSION 2.0.2
Release notes

Thanks to Greg Lueck for the pinADX "glue" that sits between SDE/pin and MSVS2012 and Andria Pazarloglou for the GUI integration windows. Thanks to Marc Enst for integration testing. And of course thanks to the Pin and SDE teams.

The SDE extensions to MSVS give you the following new features: 

  • The ability to launch a debug session under SDE.
  • An extension to the standard MSVS disassembly window that knows about the new instructions.  You can set breakpoints and single-step over new instructions.
  • A new emulated register window that displays the new register values that are emulated by SDE.  The values can be displayed in various formats.
  • A new “SDE console” window which can be used to pass additional commands to SDE for debugging. 

A future version of the emulated register window will allow editing of the values in the emulated register window. That is currently a work-in-progress. Also process-attach is WIP. 

Prerequisites:

  • Windows 7 (or windows server 2008)
  • Visual Studio 2012 – You can use any of the editions (Ultimate, Professional, etc.), except that the Express edition doesn’t work.  Also, make sure you have an RTM release, and not one of the Beta or RC releases.
  • Installing the latest SDE kit for BDW or SKL: 5.23 available on the SDE shares
  • Install the new SDE / VS2012 extension using the MSI from here

The SDE MSI contains the MSVS GUI integration feature. It is not paired to any particular SDE version or chip architecture. It contains no confidential or restricted secret information. You just have to use SDE >= version 5.23. You can upgrade SDE without changing the MSI. As new features become available in the MSVS integration, we will provide new MSIs.

Instructions:

First, install the prerequisites listed above.  Then, do the following to enable debugging with SDE:

  • If you do not already have an MSVS project file, you must create one.  I typically create an empty project and specify the executable that I want to debug in the “Application Command” property.  Also set the “Application Command Arguments”, if you have any.
  • At the top of the project properties there is a drop-down labeled “Debugger to launch”.  Change this drop-down to “SDE Debugger”.
  • Set the “SDE Kit Directory” property to point to the root of your SDE kit.  There is a <Browse> option that allows you to choose the directory with the file browser.
  • Click OK to save your changes.

      (The picture below uses SDE version 5.22; do not use 5.22 with the MSVS2012 integration; I will update the picture shortly)

For versions >= 1.0.5, the "SDE Kit Directory" is specified under:  Debug -> Options and Settings ... -> Intel(R) SDE debugger

 

Then set the "Application command" and relevant "SDE Command Arguments" fields in project properties:

Before starting the debugger, you probably want to set some breakpoints in your application.  Do this by opening a source file in MSVS, navigate to a line, and press F9.  When you are ready, start debugging either by pressing F5 or by clicking on
 .



Once a debugger session is started, you can view the emulated registers and see the emulated instructions.  Open the Emulated Registers window by choosing “DEBUG->Windows->Emulated Registers” in the IDE.  Open the disassembly window by choosing “DEBUG->Windows->Disassembly”.



By right clicking on a register, you can change its display format to various signed/unsigned integer widths, single, double, hex and binary.

In the SDE console window, you have various lower level options for talking to SDE using the same command syntax we use with GDB on Linux.  Open this window by choosing “DEBUG->Windows->Intel(R) SDE Console”.



Known bugs and missing features: 

1) You cannot attach to running processes. This is an important feature planned for a future release. 

2) The disassembly window spacing/formatting is not very good. We need to talk to someone at Microsoft about that to see if there is anything we can do to improve the spacing.

3) You cannot use the "Express" edition of MSVS; It does not support the required extensions. You cannot use windbg; It does not support the required APIs.

0 Kudos
Christian_M_2
Beginner
1,362 Views

Hello,

I know the text you posted and sticked to it before starting the thread.

Now I might have some track at least: Figured out that the VS plugin installed there:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Intel

There is a dll called: Intel.Debugger.SdeUI.dll which is referenced in the config file in this folder. I checked this dll with dependency walker and it misses a lot of things:

API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
DCOMP.DLL
IESHIMS.DLL

Do you think this is the key? Could you check the dll with dependency walker? If you have the dll's were are they? A windows search did not find them.

 

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

I am not familiar with this dll, however it looks to me that there is some problem with your VS installation.

Can you please reinstall VS  and then SDE plugin?

Thanks,

Michael

0 Kudos
Christian_M_2
Beginner
1,362 Views

Hello,

I completed uninstalled SDE plugin whole VS and all its components. Then reinstall, but this did not solve it, same situation. Also verified this in a clean Win 7 VM: Win 7 install, VS 2013 Ultimate minimal install, SDE plugin install -> Above error.

Really strange, thanks for all the tipps. Seems we can't solve this.

0 Kudos
MICHAEL_G_Intel1
Employee
1,362 Views

Hi

Why do you install minimal VS 2013?

Why not custom build?

Michael

0 Kudos
Christian_M_2
Beginner
1,362 Views

Hallo,

well I only develop bare C++ (no Visual C++), sometime prototyping with C#. So I don't need Web Development, Office Development, Blend etc. These things would only eat 2,5 GB on my SSD, even more with all the updates.

What do you mean with 'custom build'?

Greetings, Christian

0 Kudos
MICHAEL_G_Intel1
Employee
1,239 Views

Custom build is the default installation of VS.

I think if you will install according default options there is a good chance that it will work

0 Kudos
Reply