Eclipse Conditional Breakpoint

เชื่อว่าคนที่เขียนโปรแกรมทุกคนต้องเคยประสบปัญหาการ debug โค้ดส่วนที่อยู่ในลูปอย่างแน่นอน ถ้าเป็นลูปไม่กี่ลูปคงไม่เป็นปัญหาอะไร แต่ถ้าเกิดโปรแกรมต้องทำงานกับข้อมูลจำนวนมากๆ บางครั้งอาจมีถึงพันถึงหมื่นลูป ตัวอย่างเช่น โปรแกรมของเราเกิด Array Index Out Of Bound ที่ index สุดท้าย แล้ว Array ของเรามีขนาด 1,000 คงไม่ใช่เรื่องสนุกแน่นอนถ้าต้องนั่งคอยกด next เป็นร้อยๆ พันๆ หมื่นๆ ครั้งกว่าจะเจอข้อมูลที่เป็นปัญหา

เมื่อมีปัญหา ก็มีทางแก้ปัญหา (solution) เราไม่ใช่คนแรกในโลกที่เจอปัญหานี้แน่นอน มีคนเจอปัญหาลักษณะเดียวกับเรามาก่อนแล้ว และมีคนสร้างทางแก้ปัญหาเอาไว้แล้ว

ให้เราคลิกสร้าง breakpoint บรรทัดที่เราต้องการ

loop_1

เสร็จแล้วให้ Ctrl + double click ที่ breakpoint นั้น หรือจะคลิกขวาแล้วเลือก Breakpoint Properties… ก็ได้ จะมีหน้าต่างโผล่ขึ้นมา

สมมุติว่าโค้ดของผมมีปัญหารอบที่ 100 ผมก็ไปติ๊กที่ Conditional แล้วใส่ j == 100 ลงไป

loop_2ทีนี้เมื่อเราสั่ง debug โปรแกรมก็จะทำงานไปตามปกติ จนเมื่อ j มีค่าเท่ากับ 100 ก็จะไปหยุดที่บรรทัดที่เราสร้าง breakpoint เอาไว้

ลองนำไปใช้กันดูครับ condition ที่จะให้หยุดทำงานสามารถเปลี่ยนไปตามเงื่อนไขที่แต่ละคนต้องการได้เลยนะครับ ไม่จำเป็นว่าต้องเป็นเท่ากับอย่างเดียวเท่านั้น

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s