• Subject: Re: How to debug SQL UDF
  • From: "Peter Dow" <pcdow@xxxxxxxxxxxxxxx>
  • Date: Fri, 19 Jan 2001 23:28:40 -0800

Hi Buck,

I tried IBM's Info Center and searched for "debug thread" and found the
following:

Multithreaded job debugging
---------------------------

The spawn() API provides a mechanism to allow you to start a debugging
session before actually calling the multithreaded program to be debugged.
Setting the QIBM_CHILD_JOB_SNDINQMSG environment variable to 1 controls this
capability. Refer to the usage notes for the spawn() API in the System API
Reference , for details about the use of this environment variable.

An example SPAWN command is available for your use and modification as part
of OS/400 option 7, the OS/400 Example Tools Library, QUSRTOOL. Member
TP0ZINFO in the file QATTINFO in the QUSRTOOL library contains information
on how to create the SPAWN CL command. You can also find more information on
using the SPAWN command in SPAWN CL command, QUSRTOOL example .

You can also simplify the process of starting a job that runs the
multithreaded program and the debugging session by creating a command (such
as the SPAWN command) that performs the necessary steps. These steps include
the following:

-Signing on to a display station session
-Starting a job to run the multithreaded program
-Using the Start Service Job (STRSRVJOB) command to service the job running
the multithreaded program
-Calling the Start Debug (STRDBG) command, adding programs to debug, and
setting breakpoints
-Notifying the servicing job when the thread hits a breakpoint so that it
stops the thread
-Stopping all threads with the debugger support
-Issuing valid debug commands from the debug screen that is displayed
-Resuming the thread that hit the breakpoint and then all other threads
-Repeating the above cycle until debugging is complete
-Calling the End Debug (ENDDBG) command

The System API Reference , ILE C for AS/400 Programmer's Guide, SC09-2712 ,
VisualAge C++ for OS/400 C++ User's Guide, SC09-2116 , and ILE Concepts,
SC41-5606  publications contain additional information about thread
debugging capabilities.

HTH,
Peter Dow
Dow Software Services, Inc.
909 425-0194 voice
909 425-0196 fax

----- Original Message -----
From: "Buck Calabro" <buck.calabro@aptissoftware.com>

> After visiting the archives, the SQL reference manual, the IBM DB2 web
site,
> the AS/400 newsgroup and the April 2000 Midrange Computing article I am
> still stuck trying to debug a UDF.  I can't get it to break when I put it
in
> debug mode, and a DUMP operation tells me that "Variable data is not
> available in a secondary thread. "

> I also tried setting my QAQQINI to PARALLEL_DEGREE *NONE to no avail.  In
> debug I get the message "Breakpoint received in secondary thread."
> For what it's worth, the return value shows as 55 on my interactive SQL:
> select strlen(name) from master where name like 'B%' so I know the program
> works.  I just want to see it in debug!

> +---
> | This is the Midrange System Mailing List!
> | To submit a new message, send your mail to MIDRANGE-L@midrange.com.
> | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
> | To unsubscribe from this list send email to
MIDRANGE-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator:
david@midrange.com
> +---

+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].