GNU cflow 1.7 ออกแล้วและมาพร้อมกับคำสั่งใหม่และอีกมากมาย

หลังจากสามปีของการพัฒนา ประกาศเปิดตัวยูทิลิตี้ GNU cflow 1.7 เวอร์ชันใหม่ สำหรับผู้ที่ไม่ทราบอรรถประโยชน์นี้ควรรู้ว่ามันคือ ออกแบบมาเพื่อสร้างกราฟภาพของการเรียกใช้ฟังก์ชันในโปรแกรม Cซึ่งสามารถใช้เพื่อทำให้การศึกษาตรรกะของแอปพลิเคชันง่ายขึ้น

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

แพ็คเกจทำงานได้อย่างสมบูรณ์และคอมไพล์และรันบนการกระจาย GNU/Linux ใดๆ และบนระบบที่เหมือน UNIX ที่ใหม่กว่า รองรับคำสั่งสวิตช์บรรทัดทั้งหมดที่ POSIX ต้องการ สามารถผลิตเอาต์พุตได้สองรูปแบบ: รูปแบบ GNU cflow (ซึ่งเป็นค่าเริ่มต้น) และรูปแบบ POSIX

ปัจจุบัน ยูทิลิตีสามารถประมวลผลแบบอักษร C ได้เท่านั้น เนื่องจากเป็นค่าเบี่ยงเบนเดียวจากข้อกำหนดของ POSIX ซึ่งต้องการความสามารถในการประมวลผลแบบอักษร YACC และ LEX รวมถึงไฟล์อ็อบเจ็กต์ไบนารี

โมดูล cflow-mode.el Emacs ทำงานร่วมกับไฟล์ในรูปแบบ GNU cflow (ซึ่งต่างจากรูปแบบ POSIX) และได้รับการทดสอบกับ Emacs 24.2.1 แล้ว

คุณสมบัติใหม่หลักของ GNU cflow 1.7

ในเวอร์ชันออกใหม่นี้ โดดเด่นในด้านการสนับสนุนรูปแบบเอาต์พุต "จุด" ('–format=dot') เพื่อสร้างผลลัพธ์ DOT สำหรับการประมวลผลเพิ่มเติมในแพ็คเกจ Graphviz

นอกจากนี้ยังมีการเน้นย้ำว่า เพิ่มความสามารถในการระบุฟังก์ชันเริ่มต้นหลายรายการโดยทำซ้ำตัวเลือก '–main' ซึ่งจะถูกสร้างขึ้นด้วยกราฟแยกกันสำหรับแต่ละฟังก์ชันเหล่านี้

นอกจากนี้ยังตั้งข้อสังเกตว่ามีการเพิ่มตัวเลือก "–target=FUNCTION" เพื่อจำกัดกราฟผลลัพธ์ให้เหลือเพียงสาขาเดียว ซึ่งรวมถึงฟังก์ชันบางอย่าง (ตัวเลือก “–target” สามารถระบุได้หลายครั้ง)

การเปลี่ยนแปลงอีกอย่างที่รวมอยู่ใน GNU cflow 1.7 เวอร์ชันใหม่นี้คือ เพิ่มคำสั่งใหม่สำหรับการนำทางแผนภูมิ cflow-mode:”c” ซึ่งใช้ไปยังฟังก์ชันการเรียก “n” ซึ่งใช้ไปยังฟังก์ชันถัดไปในระดับการซ้อนนี้ และ “p” เพื่อไปยังฟังก์ชันก่อนหน้าที่มีระดับการซ้อนเท่ากัน .

ในทางกลับกัน ยังมีการกล่าวถึงในประกาศของ GNU cflow 1.7 เวอร์ชันใหม่นี้อีกด้วย สองช่องโหว่ถูกลบออก ที่ระบุในปี 2019 ทำให้หน่วยความจำเสียหายเมื่อประมวลผลข้อความต้นฉบับที่สร้างขึ้นเป็นพิเศษใน cflow

จากช่องโหว่ที่ได้รับการแก้ไขแล้ว มีการกล่าวถึงสิ่งต่อไปนี้:

  • ช่องโหว่แรก (CVE-2019-16165) เกิดขึ้นเมื่อมีการเข้าถึงหน่วยความจำหลังจากว่าง (หลังใช้งานฟรี) ในโค้ดแยกวิเคราะห์ (ฟังก์ชันอ้างอิงใน parser.c)
  • ช่องโหว่ที่สอง (CVE-2019-16166) เกี่ยวข้องกับบัฟเฟอร์ล้นในฟังก์ชัน nexttoken() ในความเห็นของนักพัฒนา ปัญหาเหล่านี้ไม่ได้แสดงถึงภัยคุกคามด้านความปลอดภัย เนื่องจากปัญหาเหล่านี้จำกัดอยู่ที่การยุติยูทิลิตี้อย่างผิดปกติ

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

จะติดตั้ง cflow บน Linux ได้อย่างไร?

สำหรับผู้ที่สนใจจะสามารถติดตั้งยูทิลิตี้นี้บนระบบของพวกเขา พวกเขาควรรู้ว่า cflow อยู่ในที่เก็บของลีนุกซ์รุ่นหลักบางรุ่น ฉันต้องพูดถึงว่าเวอร์ชันใหม่ยังไม่ได้รับการใช้งานในบางรุ่น แต่จะพร้อมใช้งานในอีกไม่กี่วัน

ในกรณีของผู้ที่เป็นผู้ใช้ Debian, Ubuntu หรืออนุพันธ์ของสิ่งเหล่านี้ สามารถติดตั้งจากเทอร์มินัลโดยพิมพ์คำสั่งต่อไปนี้:

sudo apt install cflow -y

ในกรณีของผู้ใช้ Arch Linux, Manjaro หรือการแจกจ่ายอื่น ๆ ที่ได้รับจากสิ่งเหล่านี้ การติดตั้งต้องทำจากที่เก็บ AUR:

yay -s cflow

ส่วนผู้ที่สนใจจะคอมไพล์เวอร์ชั่นใหม่สามารถหาได้จาก ลิงค์ต่อไปนี้


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา