DNN Blog

Oct 30

Posted by: Joe Brinkman
10/30/2009 9:52 AM  RssIcon

cymbal For the past 7 years, the DotNetNuke project has provided various packages for users to simplify different installation and upgrade scenarios.  Each package was built to address specific requests from the community.  We have recently begun receiving requests for symbol files (.pdb files) and xml comments.  As a result of these requests, starting with DotNetNuke 5.2.0, we will be releasing a new Symbols package with each release.

The first set of files included in the Symbols package are all of the .PDB files for the core framework.  Essentially, any project which is included in the default solution file will generate a .pdb file that will be available in this package.  Many developers have long assumed that .pdb files were only generated for debug builds, however, that does not have to be the case.  It is possible, and even desirable, to generate .pdb files for release builds as well.  To generate the pdb files follow the steps outlined below:

  1. Open the Project Properties
  2. Select the Compile tab
  3. Set the configuration mode to Release
  4. Click on the Advanced Compile Options button
  5. Set the “Generate debug info” to “pdb-only”

You should see a screen similar to the image below.

GeneratePDBs

Most users will never need the pdb files for their installation, however, if you are troubleshooting error messages in your event log then the pdb files will provide additional information which can aids in troubleshooting.  To see how pdb files can help, lets look at a sample error message from the event log:

Error- No PDB

While there is some useful information in this error message in the stack trace, it just gives you a list of classes and methods to look through.  If your methods are not granular enough, just knowing the method may not be enough.  If you have installed the pdb files into your DotNetNuke installation then you will receive additional information in your stack trace as shown below.

Error- With PDB

 

Notice in the highlighted section that I now have an exact line number where the error occurred in the DotNetNuke source code.  This greatly simplifies identifying the root cause of errors and makes it much easier to take corrective action.  This is just one of the uses for pdb files, but is a great benefit when trying to isolate and troubleshoot problems in a production environment

In addition to symbol files, the new Symbols package will include XML Comments that are generated as part of the build process.  The XML Comments will be used in the near future to create detailed API documentation for the core DotNetNuke framework.  In addition to their usefulness in creating documentation, they are also useful when you are writing code that uses the core API.  Lisa Feigenbaum has a great article in the May 2009 issue of MSDN magazine that fully explains the benefits of the XML Comments files. 

Over the coming months, the new DotNetNuke Reference team will be going through and helping to get the core framework documented with XML Comments.  This will allow us to provide more useful Intellisense and complete API reference documentation that also includes code samples for how to use various portions of the API.

The first version of the Symbols package which was released today along with DotNetNuke 5.2.0 Beta 5 requires you to unzip the files over the top of your existing DotNetNuke installation.  It doesn’t matter if you are using the Install, Upgrade, Source, or StarterKit package for creating your DotNetNuke installation.  The only requirement is that the Symbol files are only valid for the specific version where they were generated.  This means that you cannot use the 5.2.0 Beta 5 symbols with any release other than Beta 5.

We are working on updating the Symbols package so that in the final 5.2.0 release you will be able to install and uninstall the Symbols package from the Host/Extensions page.  This will make it possible to install Symbols for any installation where you have host access, even if you don’t have full access to the file system for directly uploading files.

In the end, I think this is a good addition to the current set of packages we already provide.  For those who care about symbol files and intellisense, you will be able to use them without much difficulty and install them with whatever package you prefer to use.  For those people who don’t want them, you will be able to continue using the same packages you always have without any size bloat from files which you don’t want.

 

Tags:
Categories:
Location: Blogs Parent Separator Joe Brinkman

6 comment(s) so far...


Gravatar

Re: DotNetNuke Symbol files and Intellisense

EXCELLENT! Kudo's to core team for making this a reality.

"Good things come to those who wait" :-)

By Chuck Rizzio on   10/30/2009 11:27 AM
Gravatar

Re: DotNetNuke Symbol files and Intellisense

A big thanks to Mitchel Sellers and the DotNetNuke Community Reference Team for making this a high priority. And a big thanks to Joe for establishing it as part of the Continuous Integration process and taking it to the next level with Open Core integration! I love it when a plan comes together *grin*!

By Scott Willhite on   10/30/2009 1:06 PM
Gravatar

Re: DotNetNuke Symbol files and Intellisense

This is great news and should help in assisting in the issue resolution process for those who support DNN installations. Will the techniques be made available to module developers, so that this can also be incorporated into module deployment operations.

By Hans Zassenahaus on   10/31/2009 10:58 AM
Gravatar

Re: DotNetNuke Symbol files and Intellisense

This is already available to module developers. They can choose to generate XML and Symbol files and the technique we are using for installs is straight forward using the manifest files. This is not anything special being done in the core other than making these files available. We have been generating them as part of our CI process for a long time, but have not been packaging them up and making them available.

By Joe Brinkman (Host) on   10/31/2009 11:00 AM
Gravatar

Re: DotNetNuke Symbol files and Intellisense

Great!
In the near future the Reference team (me being part of it) will also provide the Windows help files based on code comments, If done so, my work of www.codeplex.com/DNNHelpSystem is integrated in the DNN builds...

By Ernst Peter Tamminga on   11/2/2009 7:20 AM
Gravatar

Re: DotNetNuke Symbol files and Intellisense

Nice information ! Thanks to Joe and his team

By Deb on   3/6/2010 9:06 AM
Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft .NET. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates Snowcovered.com where users purchase third party apps for the platform.