Академический Документы
Профессиональный Документы
Культура Документы
Development Kit
Developer Guide for .NET technology
Revision: 1.00
Revision History
323985 001 Initial document release to support SDK V1.0 August 2010
Contents
2 Overview .................................................................................. 7
2.1 Intel AppUpSM Developer Program .............................................................7
2.2 SDK Contents ........................................................................................8
2.3 Development Flow ................................................................................ 10
NOTE: This SDK supports products compiled targeting the .NET Framework 3.5
runtime. Developers creating applications that incorporate this SDK must
compile and validate those applications with the .NET Framework 3.5
runtime.
NOTE: Not all SDK functions and capabilities are supported for each language/API
combination.
NOTE: This SDK release supports development of Intel AppUpSM center applications only (not
components).
• Section 1, About this Document, introduces the contents and conventions of this
document.
• Section 2, Overview, introduces the Intel AppUpSM Developer Program, this SDK,
and the general application development flow.
• Section 3, Getting Started, provides the minimum steps for getting an existing
application ready to submit to the Intel AppUpSM Developer Program portal, for C#
(WPF and WinForms) and Visual Basic (WPF and WinForms).
• Section 4, Advanced Information, describes how to integrate the additional
capabilities of the SDK library to build a more robust application that provides a
better experience for users and/or better usage feedback to developers.
This type style Indicates the exact characters you type as input. Also used to highlight the
elements of a graphical user interface such as buttons and menu names or
filenames and labels when discussing program examples.
Notes, cautions, etc. Note: Indicates an important comment or side topic for the user.
2 Overview
This section provides an overview of the following:
For more information on how the program works, including details on how payment is
handled, visit the program portal at http://appdeveloper.intel.com.
SDK Libraries
SDK libraries provide you with access to Consumer Client services such as
Authorization, Error and Warning Handling, Instrumentation (metering) and Crash
Reporting. Functionality will increase over time with new library releases, as
appropriate for each language and runtime.
SDK libraries are the only parts of the SDK that are redistributed with applications.
There will be separate implementations of the library for each supported runtime and,
in the case of native applications, for each supported operating system.
The Intel AppUp™ Software Debugger is a utility that emulates the Application
Services of the Consumer Client. The debugger allows you to test and debug your
application without requiring the full client or access to hardware.
Documentation
Three types of documentation are provided to help you develop applications for the
Intel AppUpSM Developer Program: (1) sample code, (2) a Developer Guide (this
document), and (3) an online API Reference for a specific language/API.
Developer Process Integration allows you to quickly insert SDK library code into your
existing applications, integrate the Intel AppUp™ Software Debugger into your debug
flow, etc., from within your IDE. The Intel AppUp™ SDK Plug-in 1.0 for Visual Studio*
2008 software supports development process integration for C#.
Developer Portal Integration allows you to interact with the Intel AppUpSM Developer
Program portal to view your Dashboard, interact with Developer Resources, etc., from
within your IDE. The Intel AppUp™ SDK Plug-in 1.0 for Visual Studio* 2008 software
supports development portal integration for C#.
3 Getting Started
This section describes the basic steps to get an application ready for the Intel AppUpSM
Developer Program portal. First, the steps are described for C# and WPF using the
sample project AdpWpfHelloWorld. Then the differences are described for the other
language/API combinations.
Assume that you have a working AdpWpfHelloWorld application like the sample, but
that it does not have Intel AppUpTM SDK code included. Assume also that you have
already installed the SDK. The following steps describe how to integrate Intel AppUpTM
SDK code into the application:
In Visual Studio, use the Add Reference item on the Project menu to add
AdpLibrary.dll to the project. (Or right click on Reference and use Add Reference
from the shortcut menu to add the library to the project.) The SDK is installed in
<drive>\Program Files\IntelAppUp SDK\DotNet\lib. (This same library must be
wrapped into your application installer and installed with the application.)
In the declaration section at the start of the C# source file, define com.intel.adp as a
namespace. This frees you from having to add it as a prefix for SDK calls in your
application. See the sample below:
/// <ADP>
using com.intel.adp;
/// </ADP>
Locate the code that initializes the application and insert the SDK authorization code.
The SDK authorization code for AdpWpfHelloWorld is highlighted in a red box in the
sample below. (The authorization code includes the Application Constructor call, which
performs initialization and authorization, and catches exceptions. When the application
ends, the code performs SDK library shutdown and catches exceptions. The
application is derived from a core Application class. Only one instance of the
Application class may exist in an application.)
NOTE: A system is authorized to run an application if the application was purchased by the
user on the current system or if the system is one of the five systems allowed by the
licensing system. As the application developer, you are responsible to ensure that the
current system has a license to use your application; the OS or runtime does not
enforce this automatically.
Note that an Authorized Debug ID is used. During development, this Debug ID allows
testing with the Intel AppUp™ Software Debugger. This Debug ID is a 128-bit number,
expressed as a string using predefined constants. The value of the Authorized Debug
ID is contained in the SDK library. You can also use the absolute value (all one’s), as
shown in the sample. You must replace the Debug ID with a Production ID after
testing. The Production ID is discussed in detail later in this section.) There is also an
Expired Debug ID to allow you to test the “expired” branch of your application.
NOTE: Steps 1-3 above are the only mandatory steps to get a C# application running
initially. Advanced Error and Warning Handling, Instrumentation, and Crash Reporting
are not discussed here, but you should consider them for actual applications. Those
topics are all covered in Section 4, Advanced Information.
InitializeComponent();
/// <ADP>
try
{
AdpApplication app = new AdpApplication(new AdpApplicationId(0x11111111,
0x11111111, 0x11111111, 0x11111111));
/// Note: replace "0x11111111, 0x11111111, 0x11111111, 0x11111111" with
the actual application ID
/// once you obtain it from Intel AppUp(SM) Developer Program web portal
/// To test Expired ID, use AdpConstants.ADP_EXPIRED_APPLICATIONID
}
catch (AdpException e)
{
if ( e is AdpErrorException)
{
// TO DO: add your logic to handle the errors during initialization
MessageBox.Show(e.Message, "Error");
System.Environment.Exit(1);
}
else if ( e is AdpWarningException)
{
// TO DO: add your logic to handle the warnings
MessageBox.Show(e.Message, "Warning");
}
}
/// </ADP>
The SDK includes the Intel AppUp™ Software Debugger, which emulates the
Application Services of the Consumer Client on your system, without requiring the full
client or access to hardware. The Intel AppUp™ Software Debugger allows testing of
authorization, error handling, crash reporting, and instrumentation.
With the Intel AppUpTM SDK Plug-in 1.0 for Visual Studio 2008 software installed and
the Intel AppUpTM SDK code included, you can start and stop the Intel AppUp™
Software Debugger and Visual Studio debugger at the same time. Intel AppUp™
Software Debugger trace information is included in a dedicated Visual Studio Output
tab and in an Intel AppUp™ Software Debugger window.
Use one of the following methods to start the Intel AppUp™ Software Debugger and
Visual Studio debugger:
Use one of the following methods to stop the Visual Studio debugger and Intel
AppUp™ Software Debugger:
See Section 4 for more information on using the Intel AppUp™ Software Debugger.
Once your application is working, you must replace the Debug ID with a Production ID
before you can submit the application to the Intel AppUpSM Developer Program portal.
Production IDs are obtained from the Intel AppUpSM Developer Program portal, which
requires that you enroll in the Intel AppUpSM Developer Program. The Production ID is
a 128-bit number organized as four integers in hex format. The following example
shows part of the authorization code with a Production ID included.
Assume you are enrolled in the Intel AppUpSM Developer Program and have logged
into the program portal. Start the application submission process and provide
information that uniquely identifies your application. After entering that information,
click on the Get a GUID button on the portal. The site displays a GUID, which is a
Production ID. You can copy and paste this Production ID into your application,
replacing the Debug ID. (You can also request that the portal email a Production ID to
you.)
NOTE: While the Production ID is used, you can no longer use the Intel AppUp™ Software
Debugger for normal testing and debugging. (The debugger will return an
ADP_NOT_AUTHORIZED error.) You can always return to using the Debug ID to
perform broader testing and debugging using the Intel AppUp™ Software Debugger.
You can obtain a Production ID as early in your development cycle as you wish. Since
submitting the name for an application is required to receive a Production ID, getting
a Production ID early increases your chances that your desired application name will
still be available.
Create a “silent install” .MSI package that meets the Intel AppUpSM Developer Program
packaging requirements. These requirements ensure that applications provide a good
user experience during installation and Uninstallation. For a list of packaging
requirements, refer to http://appdeveloper.intel.com/en-us/article/packaging-
requirements. For tips on packaging applications for Windows, refer to
http://appdeveloper.intel.com/en-us/article/how-creating-your-msi-installer-using-
visual-studio-2008. You must wrap the AdpLibrary.dll library file into your
application installer. The installer must copy the .dll file into the same folder where
the application’s main executable is copied.
Submit your application package by following the steps on the Intel AppUpSM
Developer Program portal. You can then monitor status of the application via the My
Dashboard page on the portal. Alternately, with the Intel AppUpTM SDK Plug-in 1.0 for
Visual Studio 2008 software installed, you can use the Dashboard feature to monitor
status.
The AdpWinFormHelloWorld sample application (installed with the SDK) is the basis
for this discussion. The following steps describe how to integrate Intel AppUpTM SDK
code into the C# / WinForms application:
This step is the same as for C# / WPF. Add AdpLibrary.dll to the WinForms project in
Visual Studio.
This is the same step as for C# / WPF. Declare com.intel.adp as a namespace so you
do not need to add it as a prefix for SDK calls in your application.
This step, inserting SDK authorization code using a Debug ID, is the same as
described previously for C# / WPF. The syntax is the same as for C# / WPF, but a
different application constructor is used when the WinForms application is compiled.
NOTE: Steps 1-3 above are the only mandatory steps to get a C# application running
initially. Advanced Error and Warning Handling, Instrumentation, and Crash Reporting
are not discussed here, but you should consider them for actual applications. Those
topics are all covered in Section 4, Advanced Information.
The steps to start and stop the Intel AppUp™ Software Debugger and Visual Studio
debugger are the same as described previously for C# / WPF. With the Intel AppUpTM
SDK Plug-in 1.0 for Visual Studio 2008 software installed and the Intel AppUpTM SDK
code included, you can start and stop the Intel AppUp™ Software Debugger and Visual
Studio debugger at the same time. Intel AppUp™ Software Debugger trace
information will appear in a dedicated Visual Studio Output tab and in an Intel
AppUp™ Software Debugger window.
This step, obtaining and swapping in a Production ID, is the same as described
previously for C# / WPF. The syntax is the identical to C# / WPF.
Follow the same general process for creating a “silent install” .MSI package as for C#
/ WPF.
Follow the same general process for pre-validating an application installation package
as for C# / WPF.
Follow the same process for submission as described previously for C# / WPF.
This step is the same as for C# / WPF. Add AdpLibrary.dll to the WinForms project in
Visual Studio.
Declare the SDK namespace com.intel.adp using the Imports Statement shown
below. This frees you from having to add it as a prefix for SDK calls in your
application.
Imports com.intel.adp
Locate the Initialization event code and insert the SDK authorization code. The SDK
authorization code for AdpWpfVbHelloWorld is highlighted in a red box in the
sample below. You many need to create an Initialization event if your application does
not already have one. (The authorization code includes the Application Constructor
call, which performs initialization and authorization, and catches exceptions. When the
application ends, the code performs SDK library shutdown and catches exceptions.)
The steps to start and stop the Intel AppUp™ Software Debugger and Visual Studio
debugger are the same as described previously for C# / WPF. With the Intel AppUpTM
SDK Plug-in 1.0 for Visual Studio 2008 software installed and the Intel AppUpTM SDK
code included, you can start and stop the Intel AppUp™ Software Debugger and Visual
Studio debugger at the same time. Intel AppUp™ Software Debugger trace
information will appear in a dedicated Visual Studio Output tab and in an Intel
AppUp™ Software Debugger window.
This step, obtaining and swapping in a Production ID, is the same as described
previously for C# / WPF. The syntax for VB is different, as shown below.
Follow the same general process for creating a “silent install” .MSI package as for C#
/ WPF.
Follow the same general process for pre-validating an application installation package
as for C# / WPF.
Follow the same process for submission as described previously for C# / WPF.
Locate the Initialization event code and insert the SDK authorization code. The SDK
authorization code for AdpWinFormVbHelloWorld is highlighted in a red box in the
sample below. You many need to create an Initialization event if your application does
not already have one. (The authorization code includes the Application Constructor
call, which performs initialization and authorization, and catches exceptions. When the
application ends, the code performs SDK library shutdown and catches exceptions.)
The steps to start and stop the Intel AppUp™ Software Debugger and Visual Studio
debugger are the same as described previously for C# / WPF. With the Intel AppUpTM
SDK Plug-in 1.0 for Visual Studio 2008 software installed and the Intel AppUpTM SDK
code included, you can start and stop the Intel AppUp™ Software Debugger and Visual
Studio debugger at the same time. Intel AppUp™ Software Debugger trace
information will appear in a dedicated Visual Studio Output tab and in an Intel
AppUp™ Software Debugger window.
This step, obtaining and swapping in a Production ID, is the same as described
previously for C# / WPF. The syntax for VB is different, as shown below.
Follow the same general process for creating a “silent install” .MSI package as for C#
/ WPF.
Follow the same general process for pre-validating an application installation package
as for C# / WPF.
Follow the same process for submission as described previously for C# / WPF.
4 Advanced Information
This section provides advanced information on the following topics:
• API Levels
• Error and Warning Handling
• Instrumentation
• Crash Reporting
• Using the Intel AppUp™ Software Debugger
Applications with API levels higher than that supported by the client system are not
permitted to be downloaded to the client. If the API level on a client system is rolled
back to a lower API level, applications with higher API levels already intstalled on the
client system are not permitted to run. A Consumer Client can concurrently support
applications with different API levels.
API level information for an application is displayed in the Intel AppUp™ Software
Debugger output, as shown in the figure below. This information can be useful when
debugging potential issues.
The .NET SDK library includes three pre-defined exception classes for errors and one
pre-defined exception class for warnings to provide greater granularity in exception
handling. You should consider using these classes to provide more robust error
handling for your application. The exception classes are as follows:
NOTE: Most testing is performed with the ADP_DEBUG_APPLICATIONID GUID. You can
change the GUID to the ADP_DEBUG_EXPIREDID to test the application “expired”
branch of your error handler.
For exceptions that are not possible to handle in your application, the recommended
approach is to re-throw the exception. (The method to re-throw the exception
depends on the application language and context.) The integrated crash handler in the
SDK library then catches the exception and generates a Crash Report using the
context information from the exception. See the Crash Reporting subsection for details
on Crash Reporting.
{
app = new AdpApplication(new AdpApplicationId(0x11111111, 0x11111111,
0x11111111, 0x11111111));
/// Note: replace "0x11111111, 0x11111111, 0x11111111, 0x11111111" with the
actual application ID
/// once you obtain it from Intel AppUp(SM) Developer Program web portal
}
catch (AdpException ex)
{
if (ex is AdpErrorException)
{
if (ex is InitializationException)
{
// TO DO: add your logic to handle the errors during initialization
MessageBox.Show(ex.Message, "Initialization Error");
System.Environment.Exit(1);
}
else if (ex is UnauthorizedException)
{
// TO DO: add your logic to handle the errors during authorization
MessageBox.Show(ex.Message, "Authorization Error");
System.Environment.Exit(1);
}
if (ex is AdpRunTimeException)
{
// TO DO: add your logic to handle the errors during runtime
MessageBox.Show(ex.Message, "Initialization Error");
System.Environment.Exit(1);
}
}
Debug ID.
Try
Dim app As New AdpApplication(New AdpApplicationId(&H11111111, &H11111111,
&H11111111, &H11111111))
' Note: replace "&H11111111, &H11111111, &H11111111, &H11111111" with the actual
application ID
' once you obtain it from Intel AppUp(SM) Developer Program web portal
' To test Expired ID, use AdpConstants.ADP_EXPIRED_APPLICATIONID
txtResult.Text = "Hello World"
Catch ex As AdpException
If TypeOf ex Is AdpErrorException Then
If TypeOf ex Is InitializationException Then
‘ TO DO: Initialization error message and logic
MsgBox(ex.Message)
System.Environment.Exit(1)
If TypeOf ex Is UnauthorizedException Then
‘ TO DO: Initialization error message and logic
MsgBox(ex.Message)
System.Environment.Exit(1)
If TypeOf ex Is AdpRuntimeException Then
‘ TO DO: Runtime error message and logic
MsgBox(ex.Message)
System.Environment.Exit(1)
End If
ElseIf TypeOf ex Is AdpWarningException Then
' TO DO: Warning message and logic
MsgBox(ex.Message)
End If
End Try
4.3 Instrumentation
The Intel AppUpSM Developer Program portal allows you to collect usage statistics for
your applications. The Intel AppUpSM center aggregates this information and passes it
to My Dashboard on the Intel AppUpSM Developer Program portal. If the application
is offline, the information is cached and sent later when the application is online.
NOTE: The final decision on whether to gather and send this information to the Intel AppUpSM
center lies with the end user. They must explicitly agree to the collection and
transmittal of this usage data. If they say no, this data is discarded. Your application
must support this explicit end-user opt in choice. Even if they say yes, no individual
user or machine identifying information is collected; all data is aggregated.
The SDK supports the following Instrumentation events to measure application usage:
• Application Begin Event – Triggers sending a Begin Event message to the Intel
AppUpSM center for the application.
• Application End Event – Triggers sending an End Event message to the Intel
AppUpSM center for the application.
public AdpHelloWorldWindow()
{
InitializeComponent();
try
{
app = new AdpApplication(new AdpApplicationId(0x11111111, 0x11111111,
0x11111111, 0x11111111), false);
}
}
}
Next, disable the automatic Begin Event that the application constructor runs by
default. This is accomplished by using a longer form of the Application Constructor call
with a Boolean false as a parameter after the GUID, as outlined above in blue.
Then you can include the explicit event triggers in your application. To explicitly
trigger a Begin Event, include the following BeginEvent call and catch sequence in
your application at the point where you wish to trigger the event:
try
{
app.BeginEvent();
}
catch (AdpException ex)
{
if (ex is AdpErrorException)
{
// TO DO: add your logic to handle the errors at run time
MessageBox.Show(ex.Message, "Fatal Error");
System.Environment.Exit(1);
}
else if (ex is AdpWarningException)
{
// TO DO: add your logic to handle the warnings
MessageBox.Show(ex.Message, "Warning");
}
}
To explicitly trigger an End Event, include the following EndEvent call and catch
sequence in your application at the point where you wish to trigger the event:
try
{
app.EndEvent();
}
catch (AdpException ex)
{
if (ex is AdpErrorException)
{
// TO DO: add your logic to handle the errors at run time
MessageBox.Show(ex.Message, "Fatal Error");
System.Environment.Exit(1);
}
else if (ex is AdpWarningException)
{
// TO DO: add your logic to handle the warnings
MessageBox.Show(ex.Message, "Warning");
}
}
To explicitly include a Begin Event in the VB call, use the longer form of the
Application Constructor call and include a Boolean false parameter after the GUID as
follows (the example uses a Debug ID):
Try
Dim app As New AdpApplication(New AdpApplicationId(&H11111111, &H11111111,
&H11111111, &H11111111), false)
End try
To explicitly trigger a Begin Event, include the following BeginEvent call and catch
sequence in your application at the point where you wish to trigger the event:
Try
app.BeginEvent()
Catch ex As AdpException
If TypeOf ex Is AdpErrorException Then
' TO DO: add your logic to handle the errors at run time
MsgBox(ex.Message)
System.Environment.Exit(1)
ElseIf TypeOf ex Is AdpWarningException Then
‘ TO DO: add your logic to handle the warnings
MsgBox(ex.Message)
End If
End Try
To explicitly trigger an End Event, include the following EndEvent call and catch
sequence in your application at the point where you wish to trigger the event:
Try
app.EndEvent()
Catch ex As AdpException
If TypeOf ex Is AdpErrorException Then
' TO DO: add your logic to handle the errors at run time
MsgBox(ex.Message)
System.Environment.Exit(1)
ElseIf TypeOf ex Is AdpWarningException Then
‘ TO DO: add your logic to handle the warnings
MsgBox(ex.Message)
End If
End Try
The Intel AppUpTM SDK library supports Crash Reporting to provide application context
information when crashes occur. Default crash reports are automatically enabled when
the application constructor runs; you do not have to explicitly enable this capability.
However, you must explicitly disable default Crash Reporting when implementing
customized Crash Reporting. (Customized Crash Reporting is covered at the end of
this subsection.)
When a crash occurs, crash information is first stored locally on disk. Then a process
wakes up to create and send the crash report to the Intel AppUpSM Developer Program
portal. The crash information stored on disk is a subset of the report sent to the Intel
AppUpSM Developer Program portal. When the process runs, the process adds
information to what is stored on disk to create the final report. This process also
periodically sweeps the crash reporting area, looking for unsent crash reports.
NOTE: Since the stability of the system cannot be assumed, there is no guarantee that a
crash report will be generated. To maximize the success of Crash Reporting, the SDK
library attempts to write crash information to disk first and limits the amount of
information in the report. When implementing custom Crash Reporting, you should
also follow this policy by keeping your custom report fields and logic to a minimum.
NOTE: Crash reports are intended only for application crashes. They are not intended as an
error logging vehicle. Abuses will be monitored.
For default Crash Reporting, all information in the report is pre-defined by the SDK
library code. (If you desire additional or different information than provided in the
default crash report, you must implement custom Crash Reporting, which is covered
at the end of this subsection.)
The table below lists the possible fields in a crash report, with the Source column
defining the source (SDK or Developer) of the information for the respective field. As a
developer, you can modify the fields where the Source is listed as Developer. Fields
are modified by overriding the default field.
Custom crash reports are set immediately after the SDK Application Constructor call
so that crash reports can include data as early in application execution as is
reasonably possible.
NOTE: It is your responsibility to ensure that custom Crash Reports do not include
any data that violates Intel Privacy rules. See http://appdeveloper.intel.com for
details.
The fields with the greatest flexibility for customization are listed below:
• The Category field allows you to create categories to sort your crash reports on
the Intel AppUpSM Developer Program portal. For example, you may wish to create
categories called “MEMORY”, “IO”, “USER ERROR”, etc.
• The Error Data field allows you to create your own stack dumps or long error
messages to help you understand why your application crashed.
NOTE: Some crashes can lead to a client system eventually halting. In these cases, the time
to store a crash report on the client system may be limited. To maximize obtaining
crash information, you should consider the tradeoffs between the amount of
information to include in a custom crash report versus a potentially narrow window of
time to store the information on the client system.
The following example shows the framework to set and define a custom crash report
for C#. Note that the crash report is set immediately after the Application Constructor
call. An Authorized Debug ID is used for this example.
try
{
app = new AdpApplication(new AdpApplicationId(0x11111111, 0x11111111, 0x11111111,
0x11111111), false);
/// Note: replace "0x11111111, 0x11111111, 0x11111111, 0x11111111" with the
actual application ID
/// once you obtain it from Intel AppUp(SM) Developer Program web portal
/// <summary>
/// This method is provided to populate the AbstractCrashReport::_message
member variable
/// </summary>
public override void PopulateMessage()
{
this._message = this.UnhandledException.Message;
}
/// <summary>
/// This method is provided to populate the AbstractCrashReport::_category
member variable.
/// </summary>
public override void PopulateCategory()
{
this._category = this.UnhandledException.GetType().ToString();
}
/// <summary>
/// This method is provided to populate the AbstractCrashReport::_errorData
member variable.
/// </summary>
public override void PopulateErrorData()
{
/// <summary>
/// This method is provided to populate the AbstractCrashReport::_customField
member variable.
/// </summary>
public override void PopulateCrashReportFields()
{
if (this._customField != null)
this._customField.Clear();
ADP_CrashReportField x;
x.name = "MyReportFieldName";
x.value = "MyReportFieldValue";
this._customField.Add(x);
}
}
The following example shows the framework to set and define a custom crash report
for Visual Basic. Note that the crash report is set immediately after the Application
Constructor call. An Authorized Debug ID is used for this example.
Try
app = New AdpApplication(New AdpApplicationId(&H11111111, &H11111111, &H11111111,
&H11111111), False)
' Note: replace "&H11111111, &H11111111, &H11111111, &H11111111" with the actual
application ID
‘ once you obtain it from Intel AppUp(SM) Developer Program web portal
' To test Expired ID, use AdpConstants.ADP_EXPIRED_APPLICATIONID
app.SetCrashReport(New MyCrashReport())
Class MyCrashReport
Inherits DefaultCrashReport
''' <summary>
''' This method is provided to populate the AbstractCrashReport::_message member
variable
''' </summary>
''' <remarks></remarks>
Public Overrides Sub PopulateMessage()
Me._message = Me.UnhandledException.Message
End Sub
End Class
With the Intel AppUpTM SDK Plug-in 1.0 for Visual Studio 2008 software installed and
the Intel AppUpTM SDK code included, you can start and stop the Intel AppUp™
Software Debugger and Visual Studio debugger at the same time. The installed default
is to display Intel AppUp™ Software Debugger trace information in a dedicated Visual
Studio Output tab and in a dedicated Intel AppUp™ Software Debugger window.
The following methods start the Intel AppUp™ Software Debugger and Visual Studio
debugger:
The following methods stop the Visual Studio debugger and Intel AppUp™ Software
Debugger:
The figure below shows the Intel AppUp™ Software Debugger window with some
debug data displayed. Data includes basic SDK version and level information, API level
compatibility status, and application GUID authorization information. Additional
information may be displayed, depending on what SDK calls are used by your
application and how the Intel AppUp™ Software Debugger responds.
The Clear button clears the current contents of the Intel AppUp™ Software Debugger
window. Contents of the dedicated Visual Studio Output window are not affected.
The Exit screen closes the Intel AppUp™ Software Debugger window. The close icon
in the upper corner of the window also closes the debugger window.
NOTE: The Intel AppUpSM center will not run properly if the Intel AppUp™ Software Debugger
is running. You must exit the Intel AppUp™ Software Debugger before running the
Intel AppUpSM center.