Debug page of Visual Studio project properties

Use the Debug page of project properties in Visual Studio to set properties for debugging behavior for traditional Synergy and Synergy .NET development.

To access this page, select a project node in Solution Explorer, select Project > Properties from the Visual Studio menu, and then select the Debug tab.

Note

When debugging a solution, settings on this page are used only if the configuration/platform combination or profile for the settings is active (see Configurations, platforms, and profiles) and the project is the entry point for the solution or is debugged individually.

Traditional Synergy

For traditional Synergy, settings on this page are written to a .synproj.user file, which is specific to the machine (.synproj.user files should not be added to version control). As a result, the first time you make a change to the Debug page for a Synergy project, a message box will open asking if you want the project to be automatically reloaded. If you click Yes, the project will be immediately reloaded and Debug page settings will be available to the project. If you select No, Debug page settings will be saved, but they will not be used for the project until you reload the project.

For traditional Synergy development, the Debug page includes options listed in Microsoft’s documentation for the Debug page (e.g., learn.microsoft.com/en-us/visualstudio/ide/reference/debug-page-project-designer), and it includes the following options for breaking on errors and exceptions.

Break on unhandled exceptions and untrapped errors

Select this option to break on untrapped errors and unhandled exceptions without breaking on caught errors or exceptions.

Break on all caught exceptions and errors except...

Select this option to break on all caught errors and exceptions except errors and exceptions listed in the Error list field. (The debugger will also break on all untrapped errors and unhandled exceptions.) If you select this option, at least one error or exception must be specified in the Error list field.

Alternatively, you can invoke this functionality during a debug session by entering the !SET TRAP IGNORE list debugger command in the Immediate window during a break in execution (where list is one or more runtime error numbers or quoted and fully qualified exception names separated by commas). And you can turn this feature off in a debugging session by entering the !SET TRAP OFF debugger command in the Immediate window during a break in execution.

Error list

Specifies caught runtime errors and exceptions that the debugger will not break on when the “Break on all caught exceptions and errors except...” option is selected. To add a runtime error to this list, enter its number. To add an exception, enter the fully qualified exception name enclosed in quotation marks (e.g., “Synergex.SynergyDE.KeyNotSameException”). To enter multiple error numbers and exception names, separate the names and numbers with commas.

Reset Default Error List

Select this to restore the default list of errors in the Error list field.

SDK-style projects

For SDK-style projects (Synergy projects for .NET 6 and higher and .NET Standard), the Debug page has the following fields:

Profile

The selected profile. Profiles are named sets of Debug page settings for the project. See Configurations, platforms, and profiles for more information.

Launch

Specifies how debugging will be run for the project. If you select Executable in this field and specify the executable in the Executable field, that executable will run. If you specify Project, the executable for the project will run when the project is debugged.

Executable

When Launch is set to Executable, this field specifies the executable (full path) to run when the project is debugged.

Application arguments

Specifies command line arguments to be passed to the program that is run when the project is debugged. To pass multiple arguments, separate arguments with a space.

Working directory

Specifies the directory from which the project is launched during debugging. (By default this is the project directory.) Enter an absolute path here, or use the Browse button to select a directory.

Environment variables

Specifies environment variable settings used when the project is debugged. You can use Visual Studio macros in the Value field — e.g., $(ProjectDir).

For more information on setting environment variables, see Environment variables and Visual Studio development.