top of page
Writer's pictureamahstaderdenza

Debugging a DLL in Visual Studio 2008: A Comprehensive Tutorial



  • To let your Visual C++ compiler and linker know about the location of CrashRpt include and lib files, do the following.If you use Visual Studio 2005 or 2008, open menu Tools-> Options. Then in appeared dialog, select Projects and Solutions->VC++ Directories.If you use Visual Studio 2010 or 2012, open the Property Manager window, multi-select all projects in your solution and right click the selection. In the appeared dialog, open Configuration Properties->VC++ Directories.Finally,In the 'Show directories for' combo box, select 'Include files', then add the path to \include directory to the list.

  • In the 'Show directories for' combo box, select 'Library files', then add the path to \lib directory to the list.

Here should be replaced with the actual path of the directory you unzipped CrashRpt distribution to.Before you start using CrashRpt API functions in your program, do not forget to include CrashRpt.h header file in the beginning of your code:// Include CrashRpt header#include "CrashRpt.h"You also need to add CrashRpt LIB file to the list of input libraries for your project. In the Solution Explorer window, right-click your project and choose Properties item from the context menu. Then open Configuration Properties->Linker->Input->Additional Dependencies and then add CrashRptXXXX.lib to the list of libraries (here XXXX should be replaced with CrashRpt version number).Using CRT as Multi-Threaded DLL (/MD) in Release ConfigurationIt is important that you configure your project to use C runtime libraries (CRT) as Multi-threaded DLL (/MD) for Release configuration. This is the way recommended in MSDN. See the Exception Handling and CRT Linkage section for more information.In the Solution Explorer window, right-click your project and open project Properties. Then choose Configuration Properties->C/C++->Code Generation. In the Runtime Library field, choose Multi-threaded DLL (/MD). See the figure below for example.This should be done for all projects in your solution to share single CRT DLL.Note:In Debug configuration it is not important what CRT linkage you use. Typically your default debugger intercepts exceptions instead of CrashRpt in Debug configuration.Multi-threaded DLL (/MD)




how to debug a dll in visual studio 2008




  • For example, assume you use Visual Studio 2008 and CRT 9.0 linked as DLL, but some dependent module in your application was compiled in Visual Studio 2005 and uses CRT 8.0 linked as DLL. In such situation a CRT error in the dependent module won't be intercepted by CrashRpt, because error handlers are installed for CRT 9.0 only.Enabling Program Database (/Zi, /DEBUG) in Release ConfigurationTo be able to recover the stack traces from the crash minidump, the debugger needs your application's debugging symbols (PDB files).To enable the generation of PDB files:In the Solution Explorer window, right-click your project and open project Properties. Then choose Configuration Properties->C/C++->General. In the Debug Information Format field, choose Program Database (/Zi).

  • Choose Configuration Properties->Linker->Debugging. In the Generate Debug Info field, choose Yes (/DEBUG).

Steps 1 and 2 should be performed for all projects in your solution that support program database (EXE, DLL).The steps 1 and 2 are presented on the figures below.Program Database (/Zi)


Follow the directions below. This is useful if you can't or don't want to use ActiveSync to debug your app in Visual Studio 2008. You can debug over USBLAN, Ethernet dock, and a Wi-Fi connection to your WEC7 device (Skorpio X4 or Falcon X4) instead. The following steps assuming you will be using a USBLAN connection and the device-sync command line tool. The device-sync tool is not strictly necessary, as you could copy the files over and start the processes another way, but it makes the whole process much easier. These steps were adapted from this article.


  • Moved to SDK forum. Search here for the only Service Pack 1 download, CR does not distribute debug mode dll's or why MS would suggest they are.Memory leaks are typically due to you not closing and disposing of the report after it's completed as well as any other objects you may have created.Don\",\"author\":\"username\":\"don.williams\",\"displayName\":\"Don Williams\",\"groupIcons\":[\"name\":\"moderator\",\"title\":\"This user is an SAP Moderator\",\"priority\":20,\"name\":\"employee\",\"title\":\"This user is an SAP Employee\",\"priority\":21],\"suspended\":false,\"isCurrentUser\":false,\"id\":9971347,\"posted\":1367244549000,\"votes\":0,\"isAccepted\":true,\"isLocked\":false,\"userVoted\":\"\",\"relations\":\"canCancelAccept\":false,\"canUnlock\":false,\"canUseDelete\":false,\"accepted\":true,\"canVoteDownOrCancel\":false,\"canLock\":false,\"canAccept\":false,\"type\":\"answer\",\"canVoteUpOrCancel\":false,\"isCurrentUserAuthor\":false,\"attachments\":[]},\"body\":\"Hi Sunil,When it comes to memory related issue, a lot many things should be considered.So to start up with, install SP1 for CRVS2008 as Don suggested. -ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/bobj_download/main.htm And for the memory issue, See if below document and its suggestions help. -21984For everything else see below wiki.Getting started and moving ahead with Crystal Reports .NET applications.- BhushanFollow us on TwitterGot Enhancement ideas? Try the SAP Idea Place Getting started and moving ahead with Crystal Reports .NET applications.\",\"author\":\"username\":\"bhushan.hyalij\",\"displayName\":\"Bhushan Hyalij\",\"groupIcons\":[],\"suspended\":false,\"isCurrentUser\":false,\"id\":9971638,\"posted\":1367253877000,\"votes\":0,\"isAccepted\":false,\"isLocked\":false,\"userVoted\":\"\",\"relations\":\"canCancelAccept\":false,\"canUnlock\":false,\"canUseDelete\":false,\"canVoteDownOrCancel\":false,\"canLock\":false,\"canAccept\":false,\"type\":\"answer\",\"canVoteUpOrCancel\":false,\"isCurrentUserAuthor\":false,\"attachments\":[],\"body\":\"SP1 download link can be found in this document: -27942- LudekSenior Support Engineer AGS Primary Support, Global Support Center CanadaFollow us on TwitterGot Enhancement ideas? Try the SAP Idea Place Share Your Knowledge in SCN Topic Spaces\",\"author\":\"username\":\"ludek.uher\",\"displayName\":\"Ludek Uher\",\"groupIcons\":[\"name\":\"moderator\",\"title\":\"This user is an SAP Moderator\",\"priority\":20,\"name\":\"employee\",\"title\":\"This user is an SAP Employee\",\"priority\":21],\"suspended\":false,\"isCurrentUser\":false,\"id\":9974721,\"posted\":1367335741000,\"votes\":0,\"isAccepted\":false,\"isLocked\":false,\"userVoted\":\"\",\"relations\":\"canCancelAccept\":false,\"canUnlock\":false,\"canUseDelete\":false,\"canVoteDownOrCancel\":false,\"canLock\":false,\"canAccept\":false,\"type\":\"answer\",\"canVoteUpOrCancel\":false,\"isCurrentUserAuthor\":false,\"attachments\":[]]"), answerForm: formAction: "/answers/9968934/post.json", textareaName: "body", textareaErrors: "", isAttachmentsEnabled: true, answerEditorialGuideline: title: "Before answering", content: "You should only submit an answer when you are proposing a solution to the poster\'s problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that your answer complies with our Rules of Engagement.", links: [ title: "Rules of Engagement", href: " -of-engagement.html", ] , answerMinBodyLength: '10', answerMaxBodyLength: '20000' , currentUser: sapInternalId: '', permissions: canVoteUpOrCancel: false, canVoteDownOrCancel: false, canModerate: false, , isVotedUp: false, isVotedDown: false , alerts: alertModeratorMinLength : "It should be given a proper explanation about why the content is inappropriate.", alertModeratorMinLengthValue : "10", alreadyReportedMessage : "You already have an active moderator alert for this content." , url: profileApiBaseUrl: ' -api.services.sap.com', followUnfollowQuestion: '/sap/nodeSubscription.json', isFollowingQuestion: '/sap/isFollowingNode.json', vote: voteUp: '/commands/0/voteup.json', voteDown: '/commands/0/votedown.json', cancelVote: '/commands/0/cancelvote.json' , rss: answers: '/feed/9968934/answers.rss', answersAndComments: '/feed/9968934/comments-and-answers.rss' , authorizeUploadContext: type: 'answer' , atMention: userSearchServiceUrl: ' ', currentUserName: '', useNewUSSCORS: true, atMentionDelayMs: 100, showMentionInRedactor: true , attachmentSettings: commentMaxAttachments: '2', answerMaxAttachments: '10', commentMaxAttachmentSizeBytes: '1048576', answerMaxAttachmentSizeBytes: '1048576', commentAttachmentsSizeBytesTotal: '2097152', answerAttachmentsSizeBytesTotal: '10485760' , editor: editorClipboardUploadEnabled: true }) })(); Home

  • Community

  • Ask a Question

  • Write a Blog Post

Login / Sign-up Search Questions and Answers 0 Former Member Apr 28, 2013 at 02:25 PM Crystal report dll in release mode 68 Views Follow RSS Feed I am having an application developed in visual studio 2008. I am using basic crystal report which came with vs2008, for reporting purpose. I deployed application in windows2008R2 IIS 7. I installed crystal report dll from one of the msi file. We are facing a slowness due to memory leakage. After having some diagnosis by Microsoft team, it is confirmed that the crystal report dlls i am using is in debug mode. Please do let me know from where I can download the correct msi file for VS2008 which will run in release mode.


However, sometimes I do this only after I reviewed my performance results. Since the performance results display in visual studio may be dependent on the instrumented binaries to properly display its data. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Download King 39;s Choice

Como baixar King's Choice, um emocionante jogo de RPG que simula a vida na corte real medieval europeia Se você é fã de jogos de RPG e...

Kommentare


bottom of page