[comp.lang.ada] Question about Vax Ada and Debugger

KETNER@ti-eg.CSNET.UUCP (02/13/87)

	I am having a problem debugging an Ada program using Vax Ada 1.1
on vms 4.2 using the Vax Debugger.  The problem seems to be with the Ada
library and the debugger.

	I have a package called communications.  Inside that package body is 
another package dpos_procedures.  Inside that package spec are two procedures
called remove_available_message_queue and remove_available_message_queue_class.
When I invoke the debugger I use the command - SET MODULE/ALL -.  I can then
set a break such as - SET BREAK REMOVE_AVAIBLE_MESSAGE_QUEUE.%LINE 43 -.
My problem is with the second procedure.  If I execute - SET BREAK
REMOVE_AVAILABLE_MESSAGE_QUEUE_CLASS.%LINE 42 -. The debugger responds that
remove_available_message_queue_class is not a record and that it cannot
select component %LINE 42.

	The problem is that the name 
COMMUNICATIONS.DPOS_PROCEDURES.REMOVE_AVAILABLE_MESSAGE_QUEUE_CLASS
is not represented in the library the same as REMOVE_AVAILABLE_MESSAGE_QUEUE.
Within the library this (separate) procedure is referred to as 
ADA$U008FAE5D26BAED40_000010DE.  I have not been able to distinguish why
some names are placed in the library like this, but my main question is
why doesn't the debugger resolve the problem for me.  Once I was able to 
execute a break on 
COMMUNICATIONS.DPOS_PROCEDURES.ADA$U008FAE5D26BAED40_000010DE. I can also
step through this procedure instead of setting breaks.  It is very irritating
that syntax of the debugger that is perfectly acceptable in one case is wrong 
in another case especially when the second case should be hidden to the user.

	My question is: how do I set breaks on lines within this procedure?  
Is there a command to execute so that I can use the name 
REMOVE_AVAILABLE_MESSAGE_QUEUE_CLASS without errors?  Any other suggestions?

	One last comment.  Our system will be updated to vms 4.4 in a couple of
weeks.  Is there any chance that this version will solve the problem?