डेबियन के लिए 7.2 के साथ प्रयास किया, लेकिन लगता है कि C++ 0x lambdas में कदम उठाना संभव नहीं है।gdb के साथ lamdas डीबगिंग कोई भाग्य?
5
A
उत्तर
4
मैं एक बहुत ही सरल कार्यक्रम (उबंटू 10.04, जीडीबी-7.1, जीसीसी-4.6 -g
ध्वज के साथ एक लैम्ब्डा में कदम रखने में सक्षम था)।
#include <iostream>
void sayhello()
{
std::cout << "Hello world" << std::endl;
}
int main()
{
std::cout << "=========" << std::endl;
([](void (*f)()) {
std::cout << "---------" << std::endl;
f();
std::cout << "---------" << std::endl;
})(sayhello);
}
और यहां एक सत्र प्रतिलेख है।
(gdb) br main
Breakpoint 1 at 0x804869e: file hello.C, line 10.
(gdb) r
Starting program: /tmp/hello
Breakpoint 1, main() at hello.C:10
10 std::cout << "=========" << std::endl;
(gdb) n
=========
15 })(sayhello);
(gdb) s
operator() (this=0xbffff24f, f=0x8048614 <sayhello()>) at hello.C:12
12 std::cout << "---------" << std::endl;
(gdb) n
---------
13 f();
(gdb) s
sayhello() at hello.C:5
5 std::cout << "Hello world" << std::endl;
(gdb) n
Hello world
6 }
(gdb) s
operator() (this=0xbffff24f, f=0x8048614 <sayhello()>) at hello.C:14
14 std::cout << "---------" << std::endl;
(gdb) n
---------
15 })(sayhello);
(gdb) n
main() at hello.C:16
16 }
संबंधित मुद्दे
- 1. gdb - पाइप के साथ डीबगिंग
- 2. एक्लिप्स के साथ एंड्रॉइड डीबगिंग - कोई ब्रेकपॉइंट्स
- 3. भाग्य क्या हैं?
- 4. gdb
- 5. मुझे GDB
- 6. gdb
- 7. gdb के साथ एक LLVM पास
- 8. gdb
- 9. gdb
- 10. emacs 23.1.1 gdb के साथ - स्रोत विंडोज़
- 11. gdb
- 12. ओपनआईडी का भाग्य क्या है?
- 13. gdb
- 14. gdb
- 15. gdb
- 16. gdb
- 17. gdb
- 18. gdb
- 19. gdb
- 20. GDB
- 21. gdb
- 22. gdb
- 23. gdb
- 24. gdb
- 25. gdb: "कोई प्रतीक तालिका भरी हुई है"
- 26. एक्सई 2 के साथ रिमोट डीबगिंग - स्ट्रिंग्स
- 27. कॉल निशान के साथ विम प्लगइन्स डीबगिंग
- 28. कैसे GDB
- 29. जीडीबी के साथ डीबगिंग करते समय कहीं भी ब्रेकपॉइंट्स, एनटीएल
- 30. मैं gdb
काटने वाला किनारा, संभवतः जी ++ या जीडीबी मेलिंग सूची पर पूछने से बेहतर –
क्या आप गलत तरीके से विस्तार कर सकते हैं? – templatetypedef
@templatetypedef मैं लैम्ब्डा फ़ंक्शन में चरण-दर-चरण नहीं कर सका। – piotr