views:

541

answers:

3

The Project's Web section (under project properties in VS2008) has a list of debuggers: ASP.NET, Native Code, SQL Server. What is Native Code?

+8  A: 

Native code is machine code executed directly by the CPU. This is in contrast to .NET bytecode, which is interpreted by the .NET virtual machine.

A nice MSDN hit: Debugging Native Code

John Millikin
+2  A: 

Native code doesn't run on the Common Language Runtime (CLR). An example would be a non-managed C++ application.

JeffFoster
A: 

Native code is MSIL that has been compiled to a particular processor architecture. The .NET framework provides a tool to convert a standard MSIL assembly or application to a particular architecture. This tool is ngen.exe.

Update: Native code has better performance since there is no interpretation step and can be optimized for the platform.. it runs directly on the underlying hardware. e.g. Native code is the type of binaries created when you compile C++ programs using the specific compiler for your platform.

Kyle Trauberman
Native code typically refers to non-.NET images built for the target processor (typically C/C++, but also VB6). nGenned code is not usually considered 'native' - in particular for debugging purposes.
Michael Burr