标签: callstack

如何检查调用堆栈

是否有可能CallStack在VBA中看到MS Access 2003?也就是说,将有可能从看什么procedure或function另一个function叫?

ms-access vba callstack access-vba

9
推荐指数
2
解决办法
5711
查看次数

如何在SharePoint 2010中查看异常调用堆栈?

我正在尝试将SharePoint 2007网站集功能移植到2010.在功能激活期间,SharePoint显示"黄色死机屏幕",指出"此应用程序的当前自定义错误设置可防止查看应用程序错误的详细信息". .

AFAIK我已经配置了查看错误所需的所有内容:c:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config我已经设置好了

<system.web>
  <customErrors mode="Off" />
  <compilation debug="true" />

<SharePoint>
  <SafeMode CallStack="true" />
Run Code Online (Sandbox Code Playgroud)

(为简洁起见,省略了其他属性/标签)

这足以让SharePoint 2007显示完整的堆栈跟踪.我错过了2010年的一些东西吗?

sharepoint callstack web-config sharepoint-2010

9
推荐指数
1
解决办法
1万
查看次数

Javascript回溯

如何在Javascript中获得回溯?

理想特色:

  • 输入函数名称,或匿名函数的一些有意义的标识符,
  • 每个级别的参数列表,
  • 行号.

这可以在标准的ECMAScript中完成吗?

如果没有,可以在常见的网络浏览器方言中完成吗?

谢谢.

编辑 -

谢谢你的建议.

我的方言不支持arguments.caller或arguments.callee.

我可以做这个:

try {
    let x = null;
    x .foo ();
}
catch (e) {
        debug (dump (e.stack));
}
Run Code Online (Sandbox Code Playgroud)

这让我得到了一个字符串的信息,一目了然,但走路会很有帮助e.stack.它有标准表格吗?

再次感谢.

javascript reflection callstack backtrace

9
推荐指数
2
解决办法
2万
查看次数

为什么函数参数在调用堆栈之前的推送比返回地址更早?

来自http://en.wikipedia.org/wiki/Stack_pointer#Structure

在此输入图像描述

我想知道为什么函数的返回地址放在该函数的参数之上?

在Drawline参数之前将返回地址压入堆栈更有意义,因为当弹出返回地址以返回到调用函数时,不再需要参数.

更喜欢上图所示实现的原因是什么?

c++ gcc callstack function

9
推荐指数
1
解决办法
3046
查看次数

Visual Studio 2010的"线程"窗口中的<Not Available>和[Thread Destroyed]详细信息

我一直在尝试使用一个应用程序调试与线程相关的一些问题.当我附加到应用程序时,我看到一个像这样的窗口:

在此输入图像描述

这个名为"[Thread Destroyed]"的帖子是什么?应用程序代码肯定不会写这个名字.

是什么意味着Thread没有调用堆栈."Acquisition Engine"线程在应用程序内部创建,并在循环内运行直到停止.如果线程被停止,它将退出循环并终止它的生命,因此它应该在线程列表中.如果它存在,因为它还没有退出循环,那么,又是什么意味着callstack不可用?

在此先感谢您的帮助,这个似乎并不容易.

.net c# multithreading callstack visual-studio-2010

9
推荐指数
1
解决办法
1341
查看次数

如何在Windows中以编程方式从调用堆栈帧中读取函数参数?

我试图遍历调用堆栈帧并从中提取一些信息.我能够通过使用提取的文件名,行号,和函数名StackWalk64,SymGetSymFromAddr64以及SymGetLineFromAddr64从WinDBG的的API.

但是,DWORD64 Params[4]in STACKFRAME64,它是一个返回值StackWalk64,仅支持从帧中读回四个64位函数参数.更糟糕的是,在32位系统上,只使用低32位Params[4],因此超过32位的单个参数需要两个或更多元素.

typedef struct _tagSTACKFRAME64 {
  ADDRESS64 AddrPC;
  ADDRESS64 AddrReturn;
  ADDRESS64 AddrFrame;
  ADDRESS64 AddrStack;
  ADDRESS64 AddrBStore;
  PVOID     FuncTableEntry;
  DWORD64   Params[4];
  BOOL      Far;
  BOOL      Virtual;
  DWORD64   Reserved[3];
  KDHELP64  KdHelp;
} STACKFRAME64, *LPSTACKFRAME64;
Run Code Online (Sandbox Code Playgroud)

我找不到任何API来从堆栈框架中读取所有参数而没有限制.

我正在考虑使用ebp/ rbp从堆栈(x86/x64)和寄存器(x64)中提取值.但是,如果我这样做,只能获得参数的"可能"值.

我可以使用任何API来获得准确的值吗?如果我能得到参数的类型和名称会更好.

c++ windows winapi callstack windbg

9
推荐指数
1
解决办法
1051
查看次数

为什么 GCC 在堆栈上分配的空间超出了必要的空间,超出了对齐所需的空间?

我正在阅读一本教科书,其中显示了基于 C 代码的汇编代码:

代码:

void echo()
{
   char buf[8];
   otherFunction(buf);
}
Run Code Online (Sandbox Code Playgroud)

汇编代码:

echo:
   subq $24, %rsp      //Allocate 24 bytes on stack, but why allocate 24 instead of 8 bytes?
   movq %rsp, %rdi     //Compute buf as %rsp
   call otherFunction  
Run Code Online (Sandbox Code Playgroud)

我不明白为什么堆栈指针%rsp会减少 24 个字节。我只将 8 个字节的缓冲区分配为char buf[8];,并且没有被调用者保存的寄存器压入堆栈,指令不应该是

subq $8, %rsp
Run Code Online (Sandbox Code Playgroud)

c assembly gcc callstack x86-64

9
推荐指数
2
解决办法
362
查看次数

在Pydev中调试时查看调用堆栈

有没有办法在Pydev中调试python时看到调用堆栈?

python debugging callstack pydev

8
推荐指数
1
解决办法
2667
查看次数

有没有办法从Intellij的调试器中过滤嘈杂的堆栈帧?

我正在尝试使用Intellij的调试器调试一些代码,并且调用堆栈充满了AOP和代理相关的堆栈帧.这使得很难找到相关的堆栈帧.除了过滤掉所有库堆栈帧之外,有没有办法过滤这些?

java debugging callstack intellij-idea

8
推荐指数
1
解决办法
314
查看次数

是否可以在不丢失行号前缀的情况下包装log.Logger函数?

使用该log.Lshortfile标志时,记录器会在所有日志行前加上记录器函数调用的文件名和行号,例如:

myfile.go:14: Hello, world!

如果我像这样包装日志函数,例如:

func info(pattern string, args ...interface{}) {
    myLogger.Printf(pattern + "\n", args...)
}
Run Code Online (Sandbox Code Playgroud)

此函数发出的每一行都将以Printf调用的行号为前缀.这是预期的,但是期望的行为是每行都以要info调用的行的行号为前缀.

它有什么办法吗?

logging callstack go

8
推荐指数
1
解决办法
1440
查看次数