Newsgroups: comp.lang.ada,comp.lang.eiffel,comp.lang.lisp,comp.lang.modula3,comp.lang.objective-c,comp.lang.python,comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!portc01.blue.aol.com!newsxfer2.itd.umich.edu!www.nntp.primenet.com!nntp.primenet.com!enews.sgi.com!news.mathworks.com!newsfeed.internetmci.com!in3.uu.net!news.decus.org!eisner!kilgallen
From: kilgallen@eisner.decus.org (Larry Kilgallen)
Subject: Re: Threading questions (for FAQ).
X-Nntp-Posting-User: KILGALLEN
Lines: 51
Organization: LJK Software
Message-ID: <1996Sep18.075157.1@eisner>
References: <51m7kr$9cq@oclc.org> <323FA609.1654@netvision.net.il>
X-Trace: 843047522/16902
X-Nntp-Posting-Host: eisner.decus.org
Date: Wed, 18 Sep 1996 11:51:57 GMT
Xref: glinda.oz.cs.cmu.edu comp.lang.ada:51179 comp.lang.eiffel:15671 comp.lang.lisp:22800 comp.lang.modula3:7349 comp.lang.objective-c:5836 comp.lang.python:13514 comp.lang.smalltalk:43601

In article <323FA609.1654@netvision.net.il>, Calius <tow@netvision.net.il> writes:
> Sean Walton wrote:
>> 
>> I am putting together a FAQ for Linux Threads, and I understand that this
>> language supports threading in some degree.  Could anyone please help me
>> answer the following questions:

>>         4. How do you debug threads within this language?
> 
> Depends on your debbuger and environment.  I know my debbuger (Verdix
> SELF for
> IBM RS6000, AIX) has to ability to set breakpoints at specific tasks,
> and I think
> that should be the case for any decent ADA debugger.

As another example of the debug situation for a specific environment,
the VMS Debugger offers the following elements specific to Ada, most
of which have to do with tasking (threads):

DBG> show event_facility
event facility is ADA

  The general forms of commands to set a breakpoint or tracepoint
  on an Ada event are:
    SET BREAK/EVENT=event [task[, ... ]] [WHEN(expr)] [DO(comnd[; ... ])]
    SET TRACE/EVENT=event [task[, ... ]] [WHEN(expr)] [DO(comnd[; ... ])]

  If tasks are specified, the breakpoint will trigger only if the
  event occurs for those specific tasks.

  Ada event names and their definitions

  ABORT_TERMINATED      a task is terminating because of abort
  ACTIVATING            a task is about to begin its activation
  DEPENDENTS_EXCEPTION  an exception is about to cause a task to await
                        dependent tasks
  EXCEPTION_TERMINATED  a task is terminating because of an exception
  HANDLED               an exception is about to be handled
  HANDLED_OTHERS        an exception is about to be handled in an OTHERS handler
  PREEMPTED             a task is about to be preempted
  RENDEZVOUS_EXCEPTION  an exception is propagating out of a rendezvous
  RUN                   a task is about to run
  SUSPENDED             a task is about to be suspended
  TERMINATED            a task is terminating (including by abort or exception)
DBG>

I think readers of comp.lang.ada would appreciate a one-time posting
of your completed FAQ when completed, so we can get a picture of how
the other half lives.

Larry Kilgallen
