ใน KEIL ตัวแปร Local ใน Function ไม่แสดงค่าใน Watch1/2 อ่ะครับ

  • 3 Replies
  • 1295 Views
*

Offline TaoTao

  • ***
  • 200
    • View Profile
อืม เป็นจุดที่ยังมึนอยู่ครับ

ตัวแปรต่างๆ ถ้าวาง นอกฟังก์ชัน
เป็น  Global มันจะแสดงผลตอน ดีบัก

แต่ถ้า Create ไว้ใน Function
ดีบัก มันไม่แสดงค่า ครับ

ซึ่ง ผมเบรกพ้อยขณะอยู่ใน ฟังชั่นนั้นๆ แล้ว
ก็ไม่แสดงค่าออกมา @_@!
มันเพราะอะไรหรือครับ
ยังไม่เข้าใจจุดนี้ของ KEIL



*

Offline dec

  • **
  • 55
    • View Profile
ตัวแปรไม่มีการใช้งานรึเปล่าครับ

ปกติผมใช้ IAR พวก local variable ถึงแม้ว่าจะปิด optimizer ไปแล้ว แต่ถ้าตัวแปรมีการเซ็ตค่าเฉยๆ แต่ถ้าไม่มีการใช้งานเลย มันก็จะไม่โชว์ค่าอะไรเลย ต้องเขียนให้มันมีการใช้งานใน function นั้นๆ ก่อนถึงจะ watch ได้ แล้วก็พอมันใช้งานเสร็จมันก็จะกลับไปเป็นไม่โชว์ค่าอะไรเลยเหมือนเดิม เวลา watch เลยต้อง watch ระหว่าง code ที่ตัวแปรยังมีการใช้งานอยู่

ต้องเปิดหน้าต่าง Call Stack + Locals ขึ้นมาครับถึงจะมองเห็นตัวแปร local.
ลองดู app. note. ตัวนี้ครับอธิบายละเอียดดี เรื่อง Call Stack + Locals อยู่หน้า 10 ครับ
http://www.keil.com/appnotes/docs/apnt_253.asp


*

Offline TaoTao

  • ***
  • 200
    • View Profile
โอ้ ขอบคุณทั้งสองคน มากมายครับ
Local Var มันมารวมอยู่ที่ Call Stack นี่เอง
 ;D