Compared to the old bt code, Keith Owen's new bt algorithm is intended to show function parameters even though they are passed in registers rather than stack. But the bt result includes too many "invalid" there. Here is an example:
[6]kdb> bt Stack traceback for pid 4563 0xffff8102298e4e30 4563 1 1 5 R 0xffff8102298e5178 *atd sp ip Function (args) 0xffff8102215b7e10 0xffffffff80288577 getname (0x7fa31fbc145e) 0xffff8102215b7e10 0xffffffff8028a132 __user_walk_fd+0x19 (invalid, invalid, invalid, 0xffff8102) 0xffff8102215b7e40 0xffffffff8028366b vfs_stat_fd+0x1b (invalid, invalid, 0xffff8102215b7ef8) 0xffff8102215b7ef0 0xffffffff80283834 sys_newstat+0x19 (invalid, 0x7fff27bc1630) 0xffff8102215b7f80 0xffffffff8020bd8b system_call_after_swapgs+0x7b (invalid, invalid, invalid, ) [6]kdb> Only a few parameters are printed, too many parameters are actually "missing", this result in most cases is not really sufficient for developers to solve real problem. In fact I read through the code of this algorithm, I feel the idea to trace every block and every instructions is very good, but I wonder are there still any possibilities to improve this situation, say, capture more parameters and print them out.If we can get/print most of the parameters, if not all, that would be really perfect. Do any one have more ideas about this? Regards Jason _______________________________________________ kdb mailing list [email protected] http://oss.sgi.com/mailman/listinfo/kdb
