Skip to: Abstract | Comments | Solution | Migration | Download
APAR NUMBER: PJ31041 PRODUCT: TPF4 FUNCTIONAL AREA: DEBUG TOOL SUPPORT SHIPPED IN PUT: 20 ABSTRACT: Debugger Enhancement: conditional registration support, data level operation support, improve performance of memory view, and constructor initialization variable display. APAR CONTENTS: FEATURE TYPE STATUS NAME Base CHeader Changed include/c$cdbg.h Base CHeader Changed include/c$eb0eb.h Base CHeader Changed include/c$prog.h Base CHeader Changed include/c$term.h Base CPPHeader Changed include/iudbg.h Base CPPHeader Changed include/iudcls.hpp Base CPPHeader Changed include/iuddef.h Base CPPHeader Changed include/iuddi.hpp Base CPPHeader Changed include/iudenu.h Base CPPHeader Changed include/iudpo.hpp Base CPPHeader Changed include/iudsym.hpp Base CHeader Changed include/iudtr.h Base LoadExecutable Changed load/oco/cplx40.exe Base LoadExecutable Changed load/oco/ctlf40.exe Base DataMacro Changed macro/ieqce2.mac Base DataMacro Changed macro/iprog.mac Base DataMacro Changed macro/iterm.mac Base DataMacro Changed macro/iudbg.mac Base Macro Changed macro/sip/sppgml.mac Base Object Changed obj/oco/cdbpxm40.o Base Object Changed obj/oco/cud2bp40.o Base Object Changed obj/oco/cud2cp40.o Base Object Changed obj/oco/cud2cv40.o Base Object Changed obj/oco/cud2er40.o Base Object Changed obj/oco/cud2go40.o Base Object Changed obj/oco/cud2in40.o Base Object Changed obj/oco/cud2rg40.o Base Object Changed obj/oco/cud2sh40.o Base Object Changed obj/oco/cud2sk40.o Base Object Changed obj/oco/cud2st40.o Base Object Changed obj/oco/cud2vw40.o Base Object Changed obj/oco/cud2xp40.o Base Object Changed obj/oco/cudalx40.o Base Object Changed obj/oco/cudask40.o Base Object Changed obj/oco/cudayc40.o Base Copy Changed source/cp/base/cicr40.cpy Base Copy Changed source/cp/base/cudu40.cpy Base C Changed source/rt/base/cdbi.c Base C Changed source/rt/base/cdbp.c Base BldScript Changed source/rt/base/cdbpbs.bsc Base CPP New source/rt/base/cdbpcd.cpp Base C Changed source/rt/base/cdbs.c Base CPP Changed source/rt/base/cud1.cpp Base CPP Changed source/rt/base/cud1ev.cpp Base CPP Changed source/rt/base/cudacv.cpp Base CPP Changed source/rt/base/cudasc.cpp Base CPP Changed source/rt/base/cudasm.cpp Base C Changed source/rt/base/cudatr.c Base CPP Changed source/rt/base/cudaxp.cpp Base Assembler Changed source/rt/base/ucst.asm PREREQUISITE APARS: To be applied in order listed. Base CHeader Changed include/c$cdbg.h PJ25632(09) PJ25983(10) PJ28649(17) PJ29430(18) PJ30862(20) PJ31016(20) Base CHeader Changed include/c$eb0eb.h PJ25294(09) PJ25632(09) PJ25589(09) PJ25684(09) PJ25459(09) PJ25780(09) PJ25696(10) PJ25722(10) PJ25983(10) PJ25981(10) PJ25962(10) PJ26150(10) PJ26162(11) PJ26441(11) PJ26468(11) PJ26575(11) PJ26683(11) PJ26600(11) PJ26581(11) PJ26775(12) PJ26746(12) PJ26793(12) PJ26914(12) PJ26721(12) PJ27298(13) PJ27383(13) PJ27393(13) PJ27445(14) PJ27530(14) PJ28118(15) PJ28218(16) PJ28195(16) PJ28526(17) PJ28623(17) PJ28649(17) PJ29515(18) PJ29921(19) PJ29962(19) PJ30282(20) PJ30708(20) PJ30679(20) PJ30832(20) Base CHeader Changed include/c$prog.h PJ25632(09) PJ25983(10) PJ29430(18) PJ30127(19) PJ30282(20) PJ30832(20) PJ30862(20) Base CHeader Changed include/c$term.h PJ25632(09) PJ25983(10) PJ28649(17) PJ29430(18) PJ30127(19) PJ30282(20) PJ30832(20) PJ30862(20) Base CPPHeader Changed include/iudbg.h PJ28649(17) PJ28809(17) PJ29585(18) PJ29592(19) PJ30282(20) Base CPPHeader Changed include/iudcls.hpp PJ28649(17) PJ28809(17) PJ29159(18) PJ29876(19) PJ30282(20) PJ30833(20) Base CPPHeader Changed include/iuddef.h PJ28649(17) PJ28809(17) PJ29159(18) PJ29585(18) PJ29024(18) PJ29631(19) PJ30127(19) PJ30282(20) PJ30862(20) Base CPPHeader Changed include/iuddi.hpp PJ28649(17) PJ28785(17) PJ29045(17) PJ29159(18) PJ29585(18) PJ29817(19) PJ29592(19) Base CPPHeader Changed include/iudenu.h PJ28649(17) PJ28848(17) PJ28809(17) PJ28943(17) PJ30127(19) PJ30282(20) Base CPPHeader Changed include/iudpo.hpp PJ28649(17) PJ28943(17) PJ29159(18) PJ30064(19) Base CPPHeader Changed include/iudsym.hpp PJ28649(17) Base CHeader Changed include/iudtr.h PJ28649(17) Base LoadExecutable Changed load/oco/cplx40.exe PJ25632(09) PJ25798(10) PJ25981(10) PJ26008(10) PJ26600(11) PJ26581(11) PJ26667(11) PJ26804(12) PJ26923(12) PJ27009(12) PJ27266(13) PJ27254(13) PJ27335(13) PJ27449(14) PJ27578(14) PJ27842(15) PJ27905(15) PJ27973(16) PJ28649(17) PJ29288(18) PJ29753(19) PJ29871(19) PJ29982(19) Base LoadExecutable Changed load/oco/ctlf40.exe PJ27905(15) PJ28649(17) PJ30805(20) Base DataMacro Changed macro/ieqce2.mac PJ25632(09) PJ25589(09) PJ25696(10) PJ25722(10) PJ25983(10) PJ25981(10) PJ26150(10) PJ26156(10) PJ26468(11) PJ26575(11) PJ26683(11) PJ26600(11) PJ26581(11) PJ26793(12) PJ27383(13) PJ28118(15) PJ28218(16) PJ28195(16) PJ28526(17) PJ28623(17) PJ28649(17) PJ29515(18) PJ29921(19) PJ30282(20) PJ30708(20) PJ30679(20) PJ30832(20) Base DataMacro Changed macro/iprog.mac PJ25632(09) PJ25983(10) PJ29430(18) PJ30127(19) PJ30282(20) PJ30832(20) PJ30862(20) Base DataMacro Changed macro/iterm.mac PJ25632(09) PJ25983(10) PJ28649(17) PJ29430(18) PJ30127(19) PJ30282(20) PJ30832(20) PJ30862(20) Base DataMacro Changed macro/iudbg.mac PJ25981(10) PJ26008(10) PJ26600(11) PJ27383(13) PJ27905(15) PJ28649(17) PJ28809(17) PJ29585(18) PJ30282(20) Base Macro Changed macro/sip/sppgml.mac PJ25199(09) PJ25425(09) PJ25632(09) PJ25614(09) PJ25589(09) PJ25703(09) PJ25720(09) PJ25332(09) PJ25760(09) PJ25763(09) PJ25781(09) PJ25780(09) PJ25817(09) PJ25982(10) PJ25983(10) PJ25981(10) PJ26125(10) PJ25880(10) PJ26150(10) PJ26187(10) PJ26008(10) PJ26156(10) PJ26161(10) PJ26188(10) PJ26174(10) PJ26270(10) PJ26337(10) PJ26374(10) PJ26366(11) PJ26283(11) PJ25761(11) PJ26515(11) PJ26575(11) PJ26577(11) PJ26534(11) PJ26683(11) PJ26522(11) PJ26713(11) PJ26600(11) PJ26581(11) PJ26666(11) PJ26693(11) PJ26686(11) PJ26809(11) PJ26707(11) PJ26864(12) PJ26892(12) PJ26746(12) PJ26793(12) PJ26841(12) PJ26887(12) PJ26967(12) PJ27023(12) PJ27028(12) PJ21337(12) PJ26904(12) PJ26890(12) PJ27079(12) PJ26895(12) PJ27156(12) PJ27095(12) PJ27197(13) PJ27246(13) PJ27305(13) PJ27345(13) PJ27231(13) PJ27277(13) PJ27351(13) PJ27387(13) PJ27328(13) PJ27383(13) PJ27083(13) PJ27299(13) PJ27302(13) PJ27268(13) PJ27333(13) PJ27214(13) PJ27393(13) PJ27422(13) PJ27180(13) PJ27469(13) PJ27094(14) PJ27430(14) PJ27636(14) PJ27380(14) PJ27491(14) PJ27647(14) PJ27714(14) PJ27484(14) PJ27530(14) PJ27627(14) PJ27650(14) PJ27617(14) PJ27686(14) PJ27634(14) PJ27804(14) PJ27746(14) PJ27784(14) PJ27865(14) PJ27894(14) PJ27786(15) PJ27847(15) PJ27951(15) PJ27863(15) PJ27905(15) PJ27954(15) PJ27848(15) PJ27932(15) PJ27728(15) PJ27925(15) PJ28029(15) PJ28021(15) PJ28108(15) PJ28097(15) PJ27785(15) PJ28136(15) PJ28118(15) PJ27966(15) PJ28229(16) PJ28286(16) PJ28266(16) PJ28140(16) PJ28168(16) PJ28195(16) PJ28020(16) PJ28213(16) PJ28396(16) PJ28386(16) PJ28435(16) PJ28503(16) PJ28499(17) PJ28621(17) PJ28586(17) PJ28623(17) PJ28493(17) PJ28649(17) PJ28766(17) PJ28757(17) PJ28759(17) PJ28758(17) PJ28765(17) PJ28785(17) PJ28810(17) PJ28809(17) PJ28129(17) PJ29089(17) PJ28667(18) PJ28996(18) PJ29118(18) PJ29213(18) PJ28997(18) PJ28786(18) PJ28901(18) PJ29219(18) PJ29285(18) PJ29437(18) PJ29396(18) PJ29500(18) PJ29539(18) PJ29428(18) PJ29576(19) PJ29823(19) PJ29798(19) PJ28789(19) PJ29675(19) PJ29850(19) PJ29600(19) PJ29926(19) PJ29582(19) PJ29925(19) PJ29756(19) PJ30091(19) PJ30223(19) PJ30234(20) PJ30117(20) PJ30102(20) PJ30133(20) PJ30355(20) PJ30156(20) PJ30204(20) PJ30282(20) PJ30310(20) PJ30665(20) PJ30323(20) PJ30735(20) PJ30589(20) PJ30835(20) PJ30707(20) PJ30781(20) PJ31047(20) PJ30936(20) Base Object Changed obj/oco/cdbpxm40.o PJ29430(18) PJ30282(20) PJ30835(20) PJ30862(20) Base Object Changed obj/oco/cud2bp40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29585(18) PJ29024(18) PJ29876(19) PJ30282(20) Base Object Changed obj/oco/cud2cp40.o PJ28649(17) PJ28785(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29585(18) PJ29024(18) PJ29788(19) PJ29895(19) PJ29876(19) PJ30093(19) PJ30282(20) Base Object Changed obj/oco/cud2cv40.o PJ28809(17) PJ29045(17) PJ29159(18) PJ29585(18) PJ29876(19) PJ30127(19) PJ30282(20) Base Object Changed obj/oco/cud2er40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29876(19) PJ30282(20) Base Object Changed obj/oco/cud2go40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29876(19) PJ29592(19) PJ30282(20) Base Object Changed obj/oco/cud2in40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29585(18) PJ29876(19) PJ30282(20) PJ30862(20) Base Object Changed obj/oco/cud2rg40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29024(18) PJ29876(19) PJ30282(20) Base Object Changed obj/oco/cud2sh40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29585(18) PJ29876(19) PJ30282(20) Base Object Changed obj/oco/cud2sk40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29398(18) PJ29585(18) PJ29817(19) PJ29876(19) PJ30134(19) PJ30282(20) Base Object Changed obj/oco/cud2st40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29876(19) PJ30282(20) Base Object Changed obj/oco/cud2vw40.o PJ28649(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29585(18) PJ29817(19) PJ29876(19) PJ30066(19) PJ30064(19) PJ30282(20) PJ30833(20) Base Object Changed obj/oco/cud2xp40.o PJ28649(17) PJ28848(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29585(18) PJ29876(19) PJ29981(19) PJ30153(19) PJ30454(20) PJ30282(20) Base Object Changed obj/oco/cudalx40.o PJ28809(17) PJ29876(19) Base Object Changed obj/oco/cudask40.o PJ28649(17) PJ28917(17) PJ28809(17) PJ29045(17) PJ29159(18) PJ29561(18) PJ29684(18) PJ29615(19) PJ29817(19) PJ29876(19) PJ29592(19) PJ29981(19) PJ30134(19) PJ30282(20) Base Object Changed obj/oco/cudayc40.o PJ28809(17) PJ29876(19) Base Copy Changed source/cp/base/cicr40.cpy PJ25294(09) PJ25632(09) PJ25421(09) PJ25589(09) PJ25780(09) PJ25747(10) PJ25756(10) PJ25981(10) PJ25485(10) PJ26188(10) PJ26320(11) PJ26215(11) PJ26384(11) PJ26568(11) PJ26600(11) PJ26707(11) PJ26793(12) PJ26721(12) PJ27023(12) PJ26794(13) PJ27019(13) PJ26102(13) PJ27383(13) PJ27214(13) PJ27393(13) PJ27469(13) PJ27484(14) PJ27530(14) PJ28097(15) PJ27785(15) PJ28462(17) PJ28623(17) PJ28716(17) PJ28649(17) PJ29090(18) PJ29573(19) PJ30353(20) PJ30190(20) PJ30352(20) Base Copy Changed source/cp/base/cudu40.cpy PJ25981(10) PJ26008(10) PJ26600(11) PJ26784(12) PJ26923(12) PJ26951(13) PJ27383(13) PJ27441(14) PJ27563(14) PJ27871(15) PJ27905(15) PJ28235(16) PJ28649(17) PJ28765(17) PJ29121(18) PJ29282(18) PJ29315(18) PJ29326(18) PJ29570(19) PJ29573(19) PJ30282(20) PJ30796(20) PJ30832(20) Base C Changed source/rt/base/cdbi.c PJ28649(17) PJ28809(17) PJ29430(18) PJ29684(18) Base C Changed source/rt/base/cdbp.c PJ25632(09) PJ25971(10) PJ25983(10) PJ25981(10) PJ26984(12) PJ27406(14) PJ28649(17) PJ29430(18) PJ30127(19) PJ30282(20) PJ30835(20) PJ30831(20) PJ30862(20) Base BldScript Changed source/rt/base/cdbpbs.bsc PJ25632(09) PJ25981(10) PJ29430(18) PJ29684(18) PJ30282(20) PJ30835(20) Base CPP New source/rt/base/cdbpcd.cpp PJ31041 Base C Changed source/rt/base/cdbs.c PJ25632(09) PJ25983(10) PJ25981(10) PJ26600(11) PJ26666(11) PJ27160(13) PJ27224(13) PJ27383(13) PJ28193(16) PJ28649(17) PJ28809(17) Base CPP Changed source/rt/base/cud1.cpp PJ25981(10) PJ27383(13) PJ27905(15) PJ28649(17) PJ28943(17) Base CPP Changed source/rt/base/cud1ev.cpp PJ28649(17) PJ28809(17) PJ29585(18) PJ29709(19) PJ29844(19) PJ29858(19) PJ29891(19) PJ29592(19) PJ30127(19) PJ30139(19) PJ30221(20) PJ30282(20) PJ30805(20) Base CPP Changed source/rt/base/cudacv.cpp PJ28809(17) PJ29159(18) PJ29024(18) PJ30127(19) PJ30282(20) PJ30839(20) Base CPP Changed source/rt/base/cudasc.cpp PJ28649(17) PJ28809(17) PJ29159(18) PJ29024(18) PJ29817(19) PJ30211(19) PJ30839(20) Base CPP Changed source/rt/base/cudasm.cpp PJ27905(15) PJ28649(17) PJ29159(18) PJ29709(19) PJ29891(19) PJ29981(19) PJ30805(20) Base C Changed source/rt/base/cudatr.c PJ28649(17) PJ28943(17) Base CPP Changed source/rt/base/cudaxp.cpp PJ28649(17) PJ28848(17) PJ29045(17) PJ29585(18) PJ29024(18) PJ29817(19) PJ29792(19) PJ29981(19) PJ31002(20) Base Assembler Changed source/rt/base/ucst.asm PJ27905(15) PJ28943(17) COMMENTS: Based on customer feedback and a TPFUG requirement, this project enhances the debugger to provide support for the following items: Conditional registration support allows the user to debug an ECB only when a specified condition has been met. Data level operation support allows the user to manually issue data level operations from the debugger. Improve performance of the memory view. Constructor initialization variable display automatically displays the "*this" variable in the Variable view when the user is in C++ code. This fulfills requirement TPFUG VA05012. SOLUTION: Based on customer feedback and a TPFUG requirement, this project enhances the debugger to provide support for the following items: Conditional registration support allows the user to supply an ECB or general register condition at the time of registration. When an ECB matches the terminal requirements and program masks, the debugger now verifies the condition specified on registration is also met before starting the debugger on the ECB. An example of using this feature would be to only debug a program that has a particular data level that contains a non-zero value or a particular value. Data level operation support allows the user to manually issue data level operations from the debugger. The data level operations supported by this APAR are GETCC, RELCC, ATTAC, DETAC, and FLIPC. These operations are issued from the Debug Console view in the debugger perspective. Enter "help" in the Debug Console view for more information regarding these operations. Improve performance of the memory view was achieved by utilizing the new storage protocol specified by EPDC. Constructor initialization variable display automatically displays the "*this" variable in the Variable view when the user is in C++ code. This fulfills requirement TPFUG VA05012. DEPENDENCIES SEGMENTS TO BE ASSEMBLED OR COMPILED: CDB0 rt/base/cdbtbt.c CUDA rt/base/cudaab.cpp rt/base/cudacx.cpp rt/base/cudadb.cpp rt/base/cudadd.cpp rt/base/cudadi.cpp rt/base/cudafb.cpp rt/base/cudago.cpp rt/base/cudalb.cpp rt/base/cudall.cpp rt/base/cudamb.cpp rt/base/cudaob.cpp rt/base/cudapo.cpp rt/base/cudarb.cpp rt/base/cudasb.cpp rt/base/cudasd.cpp rt/base/cudavw.cpp rt/base/cudaxn.cpp CDBX rt/base/cdbxbp.c CPS0 cp/base/ccnucl.asm cp/base/ccvage.asm SEGMENTS TO BE LINK EDITED: cdb040.exe (Shipped in Tar File) cdbi40.exe (Shipped in Tar File) cdbp40.exe (Shipped in Tar File) cdbs40.exe (Shipped in Tar File) cdbx40.exe (Shipped in Tar File) cps040.exe cud140.exe (Shipped in Tar File) cud240.exe (Shipped in Tar File) cuda40.exe (Shipped in Tar File) COREQS: PK21217 MIGRATION CONSIDERATIONS: To use the condition registration support, this APAR should be applied in conjunction with applying the TPF Toolkit Interim Fix v3.0.4. UPDATED INFORMATION UNITS: TPF Migration Guide: Program Update Tapes TPF Operations See your IBM representative if you need additional information. DOWNLOAD INSTRUCTIONS: http://www.ibm.com/software/htp/tpf/pages/maint.htm -- END APAR PJ31041 LISTING BINARY SOURCE
Download file(s): Login once to access server, leave window open, then click on link(s) below. Listing Binary Source
