Author Topic: ใน KEIL ตัวแปร Local ใน Function ไม่แสดงค่าใน Watch1/2 อ่ะครับ  (Read 796 times)

Offline TaoTao

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

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

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

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




Offline dec

  • Jr. Member
  • **
  • Posts: 46
    • View Profile
ตัวแปรไม่มีการใช้งานรึเปล่าครับ

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

Offline JimmyGrape

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


Offline TaoTao

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