2.3 The abused cout debugging technique The cout technique takes its n การแปล - 2.3 The abused cout debugging technique The cout technique takes its n ไทย วิธีการพูด

2.3 The abused cout debugging techn

2.3 The abused cout debugging technique
The cout technique takes its names from the C++ statement for printing on the standard output stream (usually the terminal screen). It consists of adding print statements in the code to track the control flow and data values during code execution. Although it is the favourite technique of all the novices, it is unbelievable how many experienced programmers still refuse to evolve and abandon this absolutely time-wasting and very ad-hoc method.
Despite its popularity, this technique has strong disadvantages. First of all, it is very ad-hoc, because code insertion is temporary, to be removed as soon as the bug is fixed. A new bug means a new insertion, making it a waste of time. In debugging as well as in coding, the professional should aim to find reusable solutions whenever possible. Printing statements are not reusable, and so are deprecated. As we will see shortly, there are more effective ways to track the control flow through messages. In addition, printing statements clobber the normal output of the program, making it extremely confused. They also slow the program down considerably: accessing to the outputting peripherals becomes a bottleneck. Finally, often they do not help at all, because for performance reasons, output is usually buffered and, in case of crash, the buffer is destroyed and the important information is lost, possibly resulting in starting the debugging process in the wrong place.
In some (very few) circumstances cout debugging can be appropriate, although it can always be replaced by other techniques. For these cases, here are some tips. To begin with, output must be produced on the standard error, because this channel is unbuffered and it is less likely to miss the last information before a crash. Then, printing statements should not be used directly: a macro should be defined around them (as illustrated in listing 2) so to switch debugging code on and off easily. Finally, debugging levels should be used to manage the amount of debugging information.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
2.3 การ cout พิงเทคนิคการดีบัก เทคนิค cout จะเป็นชื่อจากคำสั่ง c ++สำหรับกระแสข้อมูลขาออกมาตรฐาน (ปกติจอเทอร์มินัล) มันประกอบด้วยการเพิ่มยอดพิมพ์ในรหัสการติดตามควบคุมกระแสและข้อมูลค่าในระหว่างการเรียกใช้โค้ด แม้ว่าจะเป็นเทคนิคชื่นชอบของสามเณรทั้งหมด มันเป็นโปรแกรมเมอร์มีประสบการณ์มากไม่น่าเชื่อยังไม่พัฒนา และละทิ้งวิธีนี้จริง ๆ เสียเวลา และการกิจ แม้จะนิยม เทคนิคนี้มีข้อเสียที่แข็งแรง ประการแรก มันเป็นมากกิจ เพราะแทรกรหัสชั่วคราว ออกทันทีที่ได้รับการแก้ไขข้อผิดพลาด ข้อผิดพลาดใหม่หมายถึง แทรกใหม่ ทำให้เสียเวลา ในการตรวจแก้จุดบกพร่องเช่นในการเขียนโค้ด มืออาชีพควรมุ่งหาโซลูชั่นราคาเมื่อใดก็ ตามที่เป็นไปได้ พิมพ์คำสั่งไม่สามารถ และดังนั้น จะถูกตัดออก เราจะเห็นในไม่ช้า มีวิธีเพิ่มประสิทธิภาพในการติดตามกระแสควบคุมผ่านข้อความ นอกจากนี้ พิมพ์งบ clobber ผลปกติของโปรแกรม ทำให้สับสนมาก พวกเขายังช้าโปรแกรมมาก: ถึงอุปกรณ์ต่อพ่วง outputting กลายเป็น คอขวด สุดท้าย มักจะไม่ได้เลย เพราะเหตุผลประสิทธิภาพ ผลผลิตเป็นปกติ buffered ถูกทำลายบัฟเฟอร์ในกรณีความผิดพลาด และข้อมูลสำคัญที่หายไป อาจจะเกิดขึ้นในการเริ่มต้นกระบวนการตรวจแก้จุดบกพร่องที่ไม่ถูกต้อง ในบางสถานการณ์ (น้อยมาก) ดีบัก cout ได้เหมาะสม แม้ว่ามันสามารถจะถูกแทนที่ ด้วยเทคนิคอื่น ๆ นี่เป็นเคล็ดลับสำหรับกรณีเหล่านี้ จะเริ่มต้นด้วยการ ผลผลิตต้องผลิตบนมาตรฐาน เนื่องจากช่องนี้เป็น unbuffered และก็จะไม่พลาดข้อมูลสุดท้ายก่อนที่จะล้ม แล้ว คำพิมพ์ไม่ควรใช้โดยตรง: แมโครที่ควรกำหนดรอบ ๆ (ดังที่แสดงในรายการ 2) ดังนั้นการดีบักรหัสสลับเปิด และปิดได้ง่าย ในที่สุด ดีบักระดับควรใช้การจัดการจำนวนข้อมูลตรวจแก้จุดบกพร่อง
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
2.3
เทคนิคการแก้จุดบกพร่องที่ถูกทารุณกรรมศาลเทคนิคศาลใช้ชื่อของมันมาจากคำสั่งC ++ สำหรับการพิมพ์บนกระแสออกมาตรฐาน (ปกติหน้าจอมินัล) มันประกอบไปด้วยการเพิ่มงบการพิมพ์ในรหัสในการติดตามการควบคุมการไหลและค่าของข้อมูลในระหว่างการดำเนินรหัส แม้ว่ามันจะเป็นเทคนิคที่ชื่นชอบของสามเณรทั้งหมดมันเป็นเรื่องที่ไม่น่าเชื่อว่าหลายโปรแกรมเมอร์ที่มีประสบการณ์ยังคงปฏิเสธที่จะพัฒนาและละทิ้งอย่างนี้เสียเวลาและวิธีการเฉพาะกิจมาก.
แม้ความนิยมของเทคนิคนี้มีข้อเสียที่แข็งแกร่ง ครั้งแรกของทั้งหมดมันเป็นอย่างเฉพาะกิจเพราะการแทรกโค้ดชั่วคราวจะถูกลบออกทันทีที่ข้อผิดพลาดได้รับการแก้ไข ข้อผิดพลาดใหม่หมายถึงการแทรกใหม่ทำให้มันเสียเวลา ในการแก้จุดบกพร่องเช่นเดียวกับในการเขียนโปรแกรมมืออาชีพควรมุ่งที่จะหาทางแก้ไขปัญหาที่เป็นไปได้เมื่อใดก็ตามที่นำมาใช้ใหม่ งบการพิมพ์ไม่ได้นำมาใช้ใหม่และเพื่อให้มีการคัดค้าน ในขณะที่เราจะได้เห็นในไม่ช้ามีวิธีที่มีประสิทธิภาพมากขึ้นในการติดตามการควบคุมการไหลผ่านข้อความ นอกจากนี้งบพิมพ์บังคับส่งออกปกติของโปรแกรมที่ทำให้เกิดความสับสนมาก พวกเขายังชะลอตัวโปรแกรมลงมาก: การเข้าถึงอุปกรณ์ต่อพ่วง outputting จะกลายเป็นคอขวด ในที่สุดพวกเขามักจะไม่ช่วยเลยเพราะสำหรับเหตุผลประสิทธิภาพการส่งออกมักจะบัฟเฟอร์และในกรณีของความผิดพลาดบัฟเฟอร์จะถูกทำลายและข้อมูลสำคัญที่หายไปอาจจะส่งผลในการเริ่มต้นกระบวนการแก้จุดบกพร่องในสถานที่ที่ไม่ถูกต้อง.
ใน บางคน (น้อยมาก) สถานการณ์การแก้จุดบกพร่องศาลสามารถที่เหมาะสมแม้ว่ามันมักจะถูกแทนที่ด้วยเทคนิคอื่น ๆ สำหรับกรณีนี้นี่คือเคล็ดลับบางอย่าง เพื่อเริ่มต้นกับการส่งออกจะต้องมีการผลิตในข้อผิดพลาดมาตรฐานเพราะช่องทางนี้เป็น unbuffered และมันก็เป็นโอกาสน้อยที่จะพลาดข้อมูลที่ผ่านมาก่อนที่จะผิดพลาด จากนั้นพิมพ์งบไม่ควรนำมาใช้โดยตรง: แมโครควรจะกำหนดรอบตัวพวกเขา (ดังแสดงในรายการ 2) เพื่อที่จะเปลี่ยนรหัสการแก้จุดบกพร่องและปิดได้อย่างง่ายดาย สุดท้ายระดับการแก้จุดบกพร่องควรจะใช้ในการจัดการปริมาณข้อมูลดีบัก
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
2.3 ใช้ดีบัก เคาท์เทคนิค
เทคนิค เคาท์ใช้ชื่อของมันมาจาก C สั่งสำหรับการพิมพ์บนกระแสเอาท์พุทมาตรฐาน ( ปกติหน้าจอ terminal ) ประกอบด้วยการเพิ่มงบพิมพ์ในรหัสการติดตามควบคุมการไหลและข้อมูลค่าระหว่างรหัสการดำเนินการ แม้ว่าจะเป็นเทคนิคที่ชื่นชอบของสามเณรทั้งหมดมันไม่น่าเชื่อว่าหลายคนที่มีประสบการณ์โปรแกรมเมอร์ยังไม่ยอมคาย และละทิ้งนี้แน่นอน เสียเวลาและวิธีการมากของ .
แม้จะมีความนิยมของเทคนิคนี้มีข้อเสียที่แข็งแกร่ง แรกของทั้งหมดมันเป็นธุรกิจมาก เพราะการแทรกรหัสชั่วคราวจะถูกลบออกทันทีที่ข้อผิดพลาดได้รับการแก้ไข แมลงใหม่หมายถึง แทรกใหม่ ทำให้เสียเวลาในการแก้จุดบกพร่องรวมทั้งในการเข้ารหัส , มืออาชีพควรมีจุดมุ่งหมายเพื่อหาโซลูชั่นที่ใช้เมื่อใดก็ตามที่เป็นไปได้ การพิมพ์ข้อความจะไม่นำมาใช้ใหม่ และดังนั้น จะปฏิเสธ . ที่เราจะเห็นในไม่ช้า มีวิธีที่มีประสิทธิภาพมากขึ้นในการติดตามการควบคุมการไหลผ่านข้อความ นอกจากนี้ พิมพ์งบเสื้อผ้าส่งออกปกติของโปรแกรม ทำให้มันสับสนสุดๆพวกเขายังมีโปรแกรมลงช้ามากและสามารถที่จะสร้างอุปกรณ์ต่อพ่วงจะกลายเป็นคอขวด . ในที่สุด , พวกเขามักจะไม่ได้ช่วยทั้งหมด เพราะเหตุผล การแสดงผลเป็นปกตินี้และในกรณีของความล้มเหลว บัฟเฟอร์จะถูกทำลายและข้อมูลสำคัญสูญหาย อาจส่งผลให้เริ่มขั้นตอนการแก้จุดบกพร่องในสถานที่ที่ไม่ถูกต้อง
ในบางสถานการณ์ เคาท์ ( น้อยมาก ) การดีบักสามารถที่เหมาะสม แม้ว่ามันมักจะสามารถถูกแทนที่ด้วยเทคนิคอื่น ๆ สำหรับกรณีนี้ ต่อไปนี้เป็นเคล็ดลับบางอย่าง เพื่อเริ่มต้นกับ , ส่งออกจะต้องผลิตตามมาตรฐานข้อผิดพลาด เพราะช่องนี้ unbuffered และมันมีโอกาสน้อยมากที่จะพลาดข้อมูลสุดท้ายก่อนชน แล้วพิมพ์ข้อความไม่ควรใช้โดยตรง :แมโครจะกำหนดรอบ ๆ ( ตามที่แสดงในรายการ 2 ) เพื่อสลับการดีบักโค้ดเปิดและปิดได้อย่างง่ายดาย ในที่สุด การดีบักระดับควรจะใช้เพื่อจัดการปริมาณของการแก้จุดบกพร่องข้อมูล .
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: