本文整理汇总了C++中show_trace函数的典型用法代码示例。如果您正苦于以下问题:C++ show_trace函数的具体用法?C++ show_trace怎么用?C++ show_trace使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了show_trace函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: show_stack
void show_stack(struct task_struct *task, unsigned long *sp)
{
unsigned long *stack;
int i;
if (sp == NULL) {
if (task)
sp = (unsigned long *) ((struct thread_info *)
(task->stack))->cpu_context.r1;
else
sp = (unsigned long *)&sp;
}
stack = sp;
printk(KERN_INFO "\nStack:\n ");
for (i = 0; i < kstack_depth_to_print; i++) {
if (kstack_end(sp))
break;
if (i && ((i % 8) == 0))
printk("\n ");
printk("%08lx ", *sp++);
}
printk("\n");
show_trace(task, stack);
}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:27,代码来源:traps.c
示例2: show_stack
void
show_stack(struct task_struct *task, unsigned long *sp)
{
unsigned long *stack, addr;
int i;
if (sp == NULL) {
if (task)
sp = (unsigned long*)task->thread.ksp;
else
sp = (unsigned long*)rdsp();
}
stack = sp;
printk("\nStack from %08lx:\n ", (unsigned long)stack);
for (i = 0; i < kstack_depth_to_print; i++) {
if (((long)stack & (THREAD_SIZE-1)) == 0)
break;
if (i && ((i % 8) == 0))
printk("\n ");
if (__get_user(addr, stack)) {
printk("Failing address 0x%lx\n", (unsigned long)stack);
break;
}
stack++;
printk("%08lx ", addr);
}
show_trace(sp);
}
开发者ID:Blackburn29,项目名称:PsycoKernel,代码行数:31,代码来源:traps.c
示例3: show_stack
void show_stack(unsigned long * sp)
{
unsigned long *stack;
int i;
/*
* debugging aid: "show_stack(NULL);" prints the
* back trace for this cpu.
*/
if (sp==NULL)
sp = (unsigned long*)&sp;
stack = sp;
printk("\n" KERN_CRIT "Stack Dump:\n");
printk(KERN_CRIT " " RFMT ": ", (unsigned long) stack);
for (i=0; i < kstack_depth_to_print; i++) {
if (((long) stack & (THREAD_SIZE-1)) == 0)
break;
if (i && ((i & 0x03) == 0))
printk("\n" KERN_CRIT " " RFMT ": ",
(unsigned long) stack);
printk(RFMT " ", *stack--);
}
printk("\n" KERN_CRIT "\n");
show_trace(sp);
}
开发者ID:Picture-Elements,项目名称:linux-2.4-peijse,代码行数:26,代码来源:traps.c
示例4: show_stack
/* This recently started being used in arch-independent code too, as in
* kernel/sched.c.*/
void show_stack(struct task_struct *task, unsigned long *esp)
{
unsigned long *stack;
int i;
if (esp == NULL) {
if (task != current && task != NULL) {
esp = (unsigned long *) KSTK_ESP(task);
} else {
esp = (unsigned long *) &esp;
}
}
stack = esp;
for(i = 0; i < kstack_depth_to_print; i++) {
if (kstack_end(stack))
break;
if (i && ((i % 8) == 0))
printk("\n ");
printk("%08lx ", *stack++);
}
printk("Call Trace: \n");
show_trace(task, esp);
}
开发者ID:FatSunHYS,项目名称:OSCourseDesign,代码行数:27,代码来源:sysrq.c
示例5: show_stack
void show_stack(struct task_struct *task, unsigned long *sp)
{
unsigned long *stack;
int i;
/*
* debugging aid: "show_stack(NULL);" prints the
* back trace for this cpu.
*/
if(sp==NULL) {
if (task)
sp = (unsigned long *)task->thread.sp;
else
sp=(unsigned long*)&sp;
}
stack = sp;
for(i=0; i < kstack_depth_to_print; i++) {
if (kstack_end(stack))
break;
if (i && ((i % 4) == 0))
printk("\n ");
printk("%08lx ", *stack++);
}
printk("\n");
show_trace(task, sp);
}
开发者ID:praveenkpadia,项目名称:linux,代码行数:28,代码来源:traps.c
示例6: show_stack
void show_stack(struct task_struct *task, unsigned long *stack)
{
unsigned long *endstack, addr;
int i;
if (!stack) {
if (task)
stack = (unsigned long *)task->thread.ksp;
else
stack = (unsigned long *)&stack;
}
addr = (unsigned long)stack;
endstack = (unsigned long *)PAGE_ALIGN(addr);
printk(KERN_EMERG "Stack from %08lx:", (unsigned long)stack);
for (i = 0; i < kstack_depth_to_print; i++) {
if (stack + 1 > endstack)
break;
if (i % 8 == 0)
printk("\n" KERN_EMERG " ");
printk(" %08lx", *stack++);
}
show_trace(task, stack);
}
开发者ID:meriororen,项目名称:linux-2.6,代码行数:26,代码来源:traps.c
示例7: show_regs
void show_regs(struct pt_regs * regs)
{
unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L;
printk("\n");
printk("Pid: %d, comm: %20s\n", current->pid, current->comm);
printk("EIP: %04x:[<%08lx>] CPU: %d\n",0xffff & regs->xcs,regs->eip, smp_processor_id());
print_symbol("EIP is at %s\n", regs->eip);
if (user_mode_vm(regs))
printk(" ESP: %04x:%08lx",0xffff & regs->xss,regs->esp);
printk(" EFLAGS: %08lx %s (%s %.*s)\n",
regs->eflags, print_tainted(), system_utsname.release,
(int)strcspn(system_utsname.version, " "),
system_utsname.version);
printk("EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n",
regs->eax,regs->ebx,regs->ecx,regs->edx);
printk("ESI: %08lx EDI: %08lx EBP: %08lx",
regs->esi, regs->edi, regs->ebp);
printk(" DS: %04x ES: %04x\n",
0xffff & regs->xds,0xffff & regs->xes);
cr0 = read_cr0();
cr2 = read_cr2();
cr3 = read_cr3();
cr4 = read_cr4_safe();
printk("CR0: %08lx CR2: %08lx CR3: %08lx CR4: %08lx\n", cr0, cr2, cr3, cr4);
show_trace(NULL, regs, ®s->esp);
}
开发者ID:dduval,项目名称:kernel-rhel5,代码行数:29,代码来源:process-xen.c
示例8: show_stack
void show_stack(struct task_struct *task, unsigned long *stack)
{
unsigned long *endstack, addr;
int i;
/* Cannot call dump_bfin_trace_buffer() here as show_stack() is
* called externally in some places in the kernel.
*/
if (!stack) {
if (task)
stack = (unsigned long *)task->thread.ksp;
else
stack = (unsigned long *)&stack;
}
addr = (unsigned long)stack;
endstack = (unsigned long *)PAGE_ALIGN(addr);
printk(KERN_NOTICE "Stack from %08lx:", (unsigned long)stack);
for (i = 0; i < kstack_depth_to_print; i++) {
if (stack + 1 > endstack)
break;
if (i % 8 == 0)
printk("\n" KERN_NOTICE " ");
printk(" %08lx", *stack++);
}
printk("\n");
show_trace(task, stack);
}
开发者ID:PennPanda,项目名称:linux-repo,代码行数:31,代码来源:traps.c
示例9: show_stack
void show_stack(struct task_struct *task, unsigned long *stack)
{
unsigned long *p, *endstack;
int i;
if (!stack) {
if (task && task != current)
/* We know this is a kernel stack,
so this is the start/end */
stack = (unsigned long *)thread_saved_ksp(task);
else
stack = (unsigned long *)&stack;
}
endstack = (unsigned long *)(((unsigned long)stack + THREAD_SIZE - 1)
& -THREAD_SIZE);
pr_debug("Stack from %08lx:", (unsigned long)stack);
for (i = 0, p = stack; i < kstack_depth_to_print; i++) {
if (p + 1 > endstack)
break;
if (i % 8 == 0)
pr_cont("\n ");
pr_cont(" %08lx", *p++);
}
pr_cont("\n");
show_trace(stack, endstack);
}
开发者ID:0-T-0,项目名称:ps4-linux,代码行数:27,代码来源:traps.c
示例10: show_stack
/* displays a short stack trace */
void show_stack(struct task_struct *task, unsigned long *esp)
{
unsigned long addr, *stack;
int i;
if (esp == NULL)
esp = (unsigned long *)&esp;
stack = esp;
printk("Stack dump [0x%08lx]:\n", (unsigned long)esp);
for (i = 0; i < kstack_depth_to_print; i++) {
if (kstack_end(stack))
break;
if (__get_user(addr, stack)) {
/* This message matches "failing address" marked
s390 in ksymoops, so lines containing it will
not be filtered out by ksymoops. */
printk("Failing address 0x%lx\n", (unsigned long)stack);
break;
}
stack++;
printk("sp + %02d: 0x%08lx\n", i * 4, addr);
}
printk("\n");
show_trace(task, esp);
return;
}
开发者ID:AshishNamdev,项目名称:linux,代码行数:32,代码来源:traps.c
示例11: show_trace_task
void show_trace_task(struct task_struct *tsk)
{
unsigned long esp = PT_REGS_SP(&tsk->thread.regs);
/* User space on another CPU? */
if ((esp ^ (unsigned long)tsk) & (PAGE_MASK<<1))
return;
show_trace((unsigned long *)esp);
}
开发者ID:sarnobat,项目名称:knoppix,代码行数:9,代码来源:sysrq.c
示例12: show_regs
void show_regs(struct pt_regs *regs)
{
show_regs_print_info(KERN_DEFAULT);
show_registers(regs);
/* Show stack backtrace if pt_regs is from kernel mode */
if (!user_mode(regs))
show_trace(NULL, (unsigned long *) regs->gprs[15]);
show_last_breaking_event(regs);
}
开发者ID:AdaLovelance,项目名称:lxcGrsecKernels,代码行数:9,代码来源:dumpstack.c
示例13: show_trace_task
void show_trace_task(struct task_struct *tsk)
{
unsigned long sp = tsk->thread.sp;
/* User space on another CPU? */
if ((sp ^ (unsigned long) tsk) & (PAGE_MASK << 1))
return;
show_trace((unsigned long *) sp);
}
开发者ID:458941968,项目名称:mini2440-kernel-2.6.29,代码行数:10,代码来源:traps.c
示例14: show_registers
static void show_registers(struct pt_regs *regs)
{
show_regs(regs);
printk(KERN_NOTICE "Process %s (pid: %d, stackpage=%08lx)\n",
current->comm, current->pid, (unsigned long) current);
show_stack(current_thread_info()->task, (long *) regs->regs[0]);
show_trace((long *) regs->regs[0]);
show_code((unsigned int *) regs->cp0_epc);
printk(KERN_NOTICE "\n");
}
开发者ID:Gangfeng,项目名称:linux-1,代码行数:10,代码来源:traps.c
示例15: dump_stack
/*
* The architecture-independent dump_stack generator
*/
void dump_stack(void)
{
unsigned long stack;
printk("Pid: %d, comm: %.20s %s %s %.*s\n",
current->pid, current->comm, print_tainted(),
init_utsname()->release,
(int)strcspn(init_utsname()->version, " "),
init_utsname()->version);
show_trace(NULL, NULL, &stack);
}
开发者ID:nosnilwar,项目名称:linux-raw-gov-2.6.38.8,代码行数:14,代码来源:dumpstack.c
示例16: show_trace
int show_trace (char * str, ...)
{
va_list marker;
int count;
va_start (marker, str);
count = show_trace (str, marker);
va_end (marker);
fflush (stderr);
return count;
}
开发者ID:NikolaBorisov,项目名称:racket,代码行数:11,代码来源:utils.cpp
示例17: dump_stack
/*
* The architecture-independent dump_stack generator
*/
void dump_stack(void)
{
unsigned long bp;
unsigned long stack;
bp = stack_frame(current, NULL);
printk("Pid: %d, comm: %.20s mm: {%p} %s %s %.*s\n",
current->pid, current->comm,current->mm, print_tainted(),
init_utsname()->release,
(int)strcspn(init_utsname()->version, " "),
init_utsname()->version);
show_trace(NULL, NULL, &stack, bp);
}
开发者ID:vfalico,项目名称:popcorn,代码行数:16,代码来源:dumpstack.c
示例18: show_stack
void show_stack(struct task_struct *tsk, unsigned long *sp)
{
unsigned long stack;
if (!tsk)
tsk = current;
if (tsk == current)
sp = (unsigned long *)current_stack_pointer;
else
sp = (unsigned long *)tsk->thread.sp;
stack = (unsigned long)sp;
dump_mem("Stack: ", stack, THREAD_SIZE +
(unsigned long)task_stack_page(tsk));
show_trace(tsk, sp, NULL);
}
开发者ID:03199618,项目名称:linux,代码行数:16,代码来源:dumpstack.c
示例19: show_regs
void show_regs(struct pt_regs * regs)
{
printk("\n");
printk("Pid: %d, comm: %20s\n", current->pid, current->comm);
printk("EIP: %04x:[<%08lx>] CPU: %d\n",0xffff & regs->xcs,regs->eip, smp_processor_id());
print_symbol("EIP is at %s\n", regs->eip);
if (regs->xcs & 2)
printk(" ESP: %04x:%08lx",0xffff & regs->xss,regs->esp);
printk(" EFLAGS: %08lx %s (%s)\n",regs->eflags, print_tainted(),UTS_RELEASE);
printk("EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n",
regs->eax,regs->ebx,regs->ecx,regs->edx);
printk("ESI: %08lx EDI: %08lx EBP: %08lx",
regs->esi, regs->edi, regs->ebp);
printk(" DS: %04x ES: %04x\n",
0xffff & regs->xds,0xffff & regs->xes);
show_trace(NULL, ®s->esp);
}
开发者ID:dduval,项目名称:kernel-rhel4,代码行数:19,代码来源:process-xen.c
示例20: show_stack
/*
* show the raw stack from the specified stack pointer
*/
void show_stack(struct task_struct *task, unsigned long *sp)
{
unsigned long *stack;
int i;
if (!sp)
sp = (unsigned long *) &sp;
stack = sp;
printk(KERN_EMERG "Stack:");
for (i = 0; i < kstack_depth_to_print; i++) {
if (((long) stack & (THREAD_SIZE - 1)) == 0)
break;
if ((i % 8) == 0)
printk("\n" KERN_EMERG " ");
printk("%08lx ", *stack++);
}
show_trace(sp);
}
开发者ID:458941968,项目名称:mini2440-kernel-2.6.29,代码行数:23,代码来源:traps.c
注:本文中的show_trace函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论