Solved

BCB5 Debugger not working

Posted on 2004-09-01
6
948 Views
Last Modified: 2013-11-17
Hi Experts...
I'm going nuts trying to set a usable breakpoint that will allow me to 'step into' the code of a C++Builder DLL used by another app.  This is not a 'remote debug' situtation ...we're talking all-local on a single machine.

Here's what happens:
1) Open 'DLL' Project using Borland C++ Builder 5 ... click Full Debug button on Project | Options  | Compiler tab
2) Verify that Project | Options | Linker tab has 'Create Debug Info' checked
3) Verify that Run | Parameters is set for the *.exe that will be using the DLL built by this project
4) Set breakpoint in BCB DLL code -- shows as healthy red dot in left gutter with red bar across desired line of code; note: its a legitimate breakpoint location, i.e. *not* on whitespace, comment line, etc
5) Clear out *.obj files (just in case)...click Project | Build All Projects .. no problem
6) Click Run icon (F9)
7) Aaarrrgh! Immediately after clicking Run, my healthy red breakpoint line croaks -- red dot gets a little white 'X' in it, and red bar highlight on that line of code turns to olive green!  I understand from docs that this indicates bad news, i.e. 'dead code' or 'invalid breakpoint.'  In fact, all breakpoints (whether set before or after clicking Run) will show as 'dead olive green'.
8) Desired app starts up and uses the BCB project DLL just fine, but code execution is not stopped at breakpoint location(s).

Note: I created a simple 'one form' BCB project (not the DLL scenario) new on my machine today and breakpoints worked fine.  I've fooled around a bit with Project | Options | Directories/Conditionals, but no directory shuffling  seemed to help.  Can someone tell me how to make breakpoints 'stay alive' and stop code execution properly in my C++ Builder 5 DLL?

Regards,

BH
0
Comment
Question by:bohiggy
  • 2
6 Comments
 
LVL 16

Expert Comment

by:George Tokas
ID: 11954818
Did you specify the host application at Run|Parameters|Local|Host Application field??

gtokas.
0
 
LVL 16

Expert Comment

by:George Tokas
ID: 11954857
As you write in your post you did but it is needed the full path..
Did you set it using the Browse button??

As at least help and books write this is the way it works.

gtokas.
0
 

Author Comment

by:bohiggy
ID: 11955423
Yes, that is what I meant in step 3 of my description (I will edit question to clarify that detail)  ...I have set the full path of the 'Host Application' and the Host application fires off nicely when I click Run.

BH
0
 
LVL 1

Accepted Solution

by:
sophtware earned 500 total points
ID: 11972020
Here's a simple solution...

Find the .tds file (contains the debug info) for your DLL and copy it to your application directory. That is, where you are running it from. Once Builder can find it, debugging for the DLL is enabled. If you're loading the library dynamically, your breakpoints are "green" until LoadLibrary is called.

0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Update (December 2011): Since this article was published, the things have changed for good for Android native developers. The Sequoyah Project (http://www.eclipse.org/sequoyah/) automates most of the tasks discussed in this article. You can even fin…
Jaspersoft Studio is a plugin for Eclipse that lets you create reports from a datasource.  In this article, we'll go over creating a report from a default template and setting up a datasource that connects to your database.
The viewer will learn how to use NetBeans IDE 8.0 for Windows to connect to a MySQL database. Open Services Panel: Create a new connection using New Connection Wizard: Create a test database called eetutorial: Create a new test tabel called ee…
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now