iSeries มาดีบักเกอร์ – การแก้จุดบกพร่องขั้นสูง

ไม่นานที่ผ่านมาเพื่อนของฉันมีปัญหากับโปรแกรมที่เขาเพิ่งเสร็จสิ้น เราได้ใช้บันทึกเพื่อหาสิ่งที่เป็นสาเหตุของปัญหา เราทำงานออกจากปัญหาที่เกิดขึ้นในที่สุด แต่ในหลักสูตรของการทำงานของเราที่เราพบบางส่วนของผลที่ตามมาสำหรับการดีบักเกอร์และตัวเลือกที่ผมไม่ได้รู้จักกันมาก่อนหน้านี้เกี่ยวกับ ตอนนี้ผมไม่ได้บอกว่าผมรู้ทุกอย่างเกี่ยวกับ IBM ผู้ประกอบการ แต่ฉันได้ใช้มันเป็นเวลานานที่ดี ฉันรู้สึกประหลาดใจที่จะค้นพบสิ่งใหม่ ๆ ดังนั้นฉันคิดว่าฉันต้องการแบ่งปันสิ่งที่ผมได้เรียนรู้กับคุณ

% ดัชนีที่สร้างขึ้นใน

ฟังก์ชั่น% INDEX เป็นหนึ่งในขั้นตอนจนกระทั่งเมื่อเร็ว ๆ นี้ผมก็ไม่ทราบ มันมีประโยชน์มากเมื่อคุณกำลังทำงานจากการออกแบบเครื่องจักรกลจำนวนมากของข้อมูล มันเป็นประโยชน์มากยิ่งขึ้นเมื่อใช้ร่วมกับในตัว _QRNU_DSI_xxxx ค่า (ที่ xxxx = ชื่อโครงสร้างข้อมูลในหลาย ๆ กรณี) EVAL _QRNU_DSI_xxxx คำสั่งจะเรียกคืนโครงสร้างข้อมูลที่เกิดขึ้นในปัจจุบันมีหลายกรณี นี้มักจะเป็นประโยชน์อย่างมากที่จะรู้ว่าเมื่อโปรแกรมจะดำเนินการและที่ผมรู้ว่านี่เป็นวิธีเดียวที่จะได้รับมัน โดยใช้ฟังก์ชัน INDEX% นอกจากนี้คุณยังสามารถแก้ไขเหตุการณ์ที่มีอยู่โครงสร้างข้อมูลที่มีหลายกรณี ดูด้านล่าง

วันที่ WorkMultDS1 DS เกิดขึ้น (30)

d สตริง 10a

d StringB 25A

เพื่อหาโครงสร้างปัจจุบันของฐานข้อมูลโดยไม่ต้อง EVAL _QRNU_DSI_WorkMultDS1

สรุป: 1 (หรืออะไรก็ตามในปัจจุบัน WorkMultDS1 เป็น)

เพื่อเปลี่ยนเหตุการณ์ปัจจุบัน:

คือ WorkMultDS1 =% INDEX (12)

สรุป: WorkMultDS1 =% INDEX (12) = 12

หลังจากที่มีการออกคำสั่งดังกล่าวจะสอบปากคำตามประเภทสะท้อนให้เห็นคุณค่าของโครงสร้างข้อมูลเหตุการณ์ที่สิบสอง

% SUBSTR ที่สร้างขึ้นใน

ฟังก์ชั่นนี้จะเป็นประโยชน์มากเมื่อคุณกำลังทำงานกับสายที่มีขนาดใหญ่ โดยใช้กิจกรรม EVAL ในตัวเองแสดงเฉพาะเพียง 500 ตัวอักษรแรกของสนาม ในฐานะที่เป็นสัญญาณด้านข้างเป็นทางออกที่ง่ายต่อการแก้ไขปัญหาของชนิดเพิ่มและระยะเวลาในการทำงาน EVAL ที่แสดงด้านล่าง:

คำสั่งนี้จะแสดงให้เห็นว่าตัวอักษรตัวแรก 2000 ใน Long_String_Name ตัวแปรในรูปแบบตัวอักษร:

[19459004คำสั่ง] EVAL Long_String_Name C 2000

คำสั่งนี้แสดง 2000 ตัวอักษรแรกของ Long_String_Name ตัวแปรใน sexfaldastigi

คือ EVAL Long_String_Name: X 2000

หน้าจอTvíþúsundเป็นสิ่งสำคัญเมื่อโพสต์ข้อมูลที่มีทศนิยมบรรจุหรือสองขั้นตอน แต่เรายังไม่ได้พูดคุยเกี่ยวกับฟังก์ชั่น EVAL ฟังก์ชั่น SUBSTR จะทำสิ่งที่ชื่อนัย; มันจะแสดงโดนย่อยหรือส่วนหนึ่งของค่าสตริง ดูตัวอย่างด้านล่าง

จงกล่าว StringFldA = & # 39; ตอนนี้เป็นเวลาที่ดีสำหรับผู้ชายทั้งหมด … & # 39;

คำสั่ง EVAL% SUBSTR (StringFldA 12 4)

สรุป: % SUBSTR (StringFldA 12 4) = & # 39; เวลา & # 39;

ไม่น่าแปลกใจที่คุณยังสามารถใช้ฟังก์ชั่น% SUBSTR การปรับมูลค่าของบางอย่างของสตริง บางครั้งนี้เป็นวิธีที่ง่ายมากที่จะใช้คุณลักษณะนี้ ตัวอย่างของการใช้งานนี้แสดงอยู่ด้านล่าง

จงกล่าว StringFldA = & # 39; ตอนนี้เป็นเวลาที่ดีสำหรับผู้ชายทั้งหมด … & # 39;

คือ EVAL% SUBSTR StringFldA 12 4) = & # 39; & # 39 blah;

สรุป: % SUBSTR (StringFldA 12 4) = & # 39; & # 39 blah;

เพื่อดูวลีทั้งใช้คำสั่งต่อไปนี้:

คณะกรรมการ EVAL StringFldA

สรุป: StringFldA = & # 39; ตอนนี้หนังสือพิมพ์สำหรับผู้ชายที่ดีทั้งหมด … & # 39;

ยังสามารถใช้ฟังก์ชั่น% SUBSTR การปรับดัชนีหักเหหรือกรณีนาฬิกาเงื่อนไข ตัวอย่างเช่นรหัสที่แสดงด้านล่างจะหยุดการทำงานเฉพาะเมื่อตำแหน่งที่ 12 ถึง 15 ใน StringFldA เป็น & # 39; แผ่น & # 39;:

คือ BREAK 100 % SUBSTR (StringFldA 12 4) =

คำสั่ง ดู% SUBSTR (StringFldA 12 4)

หรือคุณอาจจะดูการเปลี่ยนแปลงตำแหน่งเดียวกันโดย ที่จะใช้สถานการณ์นี้

หลังจากที่ให้คณะกรรมการดังกล่าวข้างต้นเมื่อเว็บไซต์เนื้อหา 12-15 เปลี่ยนแปลงโปรแกรมหยุดและคุณจะได้รับแจ้ง

เท่ากับฟังก์ชั่น

มากขึ้นและฉันได้รับในเซลล์มีความยาวมาก ตอนนี้ไม่ได้ฉันผิดที่นี่ผมคิดว่านี่เป็นเรื่องใหญ่ แต่ผมไม่ทำมันให้ดีที่สุดเท่าที่กล่อง 25 ตัวมีโอกาสมากขึ้นที่จะถูกเข้าใจผิด แต่อายุ 6 ติดหนึ่ง (ถึงแม้จะเป็น 25 ตัวอักษร อื่น ๆ เข้าใจ) ดังนั้นถ้าคุณไม่ได้เขียนดี (หรือเพียงแค่ไม่ชอบที่จะแสดงตัวเองและฉัน) ใช้เท่ากับkembiforritið คุณลักษณะนี้จะช่วยให้คุณสามารถกำหนด "สมญานาม" สำหรับชื่อโซนการแสดงออกหรือการควบคุม นำตัวอย่างด้านล่าง

คำสั่ง เท่ากับ SmName This_is_a_really_long_field_name

จากนั้นคุณสามารถหาค่า "This_is_a_really_long_field_name" โดยการป้อนคำสั่งดังต่อไปนี้

คำสั่ง: EVAL SmName

เท่ากับคณะกรรมการนอกจากนี้ยังสามารถใช้ในการสร้างแมโคร … การเรียงลำดับของ ซึ่งสามารถทำได้โดยการกำหนด "นามแฝง" เพื่อเสร็จสิ้นการแก้จุดบกพร่อง

คือ เท่ากับ SmCmd% EVAL substr (สตริง 5.5)

ในขณะนี้โดยเพียงป้อน SmCmd และกด Enter สามารถแสดงค่า 5-9 พารามิเตอร์สตริง

ดังนั้นครั้งต่อไปที่คุณเริ่มต้นโปรแกรมการทดสอบหรือการติดตามข้อผิดพลาดโปรดจำไว้ว่านี้และคุณสามารถช่วยตัวเองปวดหัวบาง

Writer by Jeff Olen

Leave a Reply

Your email address will not be published. Required fields are marked *