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

Started by TaoTao, May 13, 2017, 11:19:53 AM

Previous topic - Next topic

TaoTao

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

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

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

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



dec

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

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

JimmyGrape

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



TaoTao

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