callstack相关内容

显示没有方法名称的调用堆栈

在WinDbg中,我可以使用 k 命令获取调用堆栈。对于没有符号的DLL,它会显示错误的方法名称和较大的偏移量,例如 0018f9f0 77641148 syncSourceDll_x86!CreateTimerSyncBridge + 0xc76a 由于我没有符号,因此我必须将此信息提供给DLL的开发人员。我不知道谁会处理该错误以及他有多少调试知识。我想避免开发人员认为 ..
发布时间:2020-09-29 00:53:10 其他开发

调用堆栈上的Singleton类

是否有一些方法可以使单例类在程序堆栈上初始化(因此也有成员变量)?我尝试过的 都失败了: 1) class CStack { public: void * getAlloc(long); 静态CStack& Instance(){ 静态CStack theStack; 返回theStack; } 私人: bool _data [100]; CStack() ..
发布时间:2020-09-29 00:52:07 C/C++开发

Stacktrace以0x0开头

我目前正在分析一个从0x00000000开始的奇数调用栈。 ELF ring3应用程序实际上可能如何?它具有默认的0x8048000作为入口点。 谢谢。 解决方案 GDB缺少库,因此调试器将其调用映射为0x0。 ..
发布时间:2020-09-29 00:52:03 服务器开发

向c函数传递超出要求的参数

如果我向函数传递的参数超出要求,会发生什么?我希望所调用的函数中有损坏的东西,但是在一些小的测试代码中,一切都可以正常工作。 例如: void print() { int x = 10; printf(“%d\n”,x); } void main() { print(0,0,0,0,0); } 解决方案 这是未定义的行为。 ( ..
发布时间:2020-09-29 00:52:02 其他开发

使用堆栈将成员变量重置为其原始值的一般方法?

我遇到了一个类实例函数,该函数需要临时更改一个类实例变量,然后在该函数完成后将其还原。该函数到处都有return语句,并且在每次返回之前都有一个restore语句。对我来说,这似乎很麻烦,更不用说抛出异常时的恐惧了。 作为改进,我想出了使用内部类定义的泛化的方法。这是一个示例驱动程序(类恢复程序)。 class Unwind { private: bool b_active_ ; ..
发布时间:2020-09-29 00:52:00 C/C++开发

R如何检查从某个包中的特定函数中是否调用了自定义函数

我想创建一个只能在另一个函数内使用的函数 myfun ,在我的情况下为 dplyr s 变异或摘要。我进一步不想依赖 dplyr 的内部结构(例如 mask $ ... )。 我想出了一个快速而肮脏的解决方法:函数 search_calling_fn 会检查调用堆栈中的所有函数名称,并在其中查找特定的模式 search_calling_fn ..
发布时间:2020-09-29 00:51:57 其他开发

是否可以在不取消调用堆栈的情况下终止Windows XP上的C ++应用程序?

我的理解是,当您通过Windows XP中的任务管理器杀死C ++应用程序时,该应用程序仍然被“干净”地破坏了-即,调用堆栈将展开并且所有相关的对象析构函数将被调用。不确定我的理解是否是错误的。 是否有可能在不取消堆栈的情况下立即杀死此类应用程序? 例如,应用程序可以使用RAII模式,该模式将在对象被破坏时破坏或释放资源。如果通过任务管理器进行的传统“杀死过程”很正常,那么提供一种立即 ..
发布时间:2020-09-29 00:51:54 C/C++开发

使变量最后一个调用堆栈

我有一个包含一些字段的类。我需要按值比较此类的实例,因此我分别定义了 GetHashCode 和 Equals 。因为该类允许循环引用,所以我需要一种避免无限递归的机制(有关更多详细说明,请参见值等于和循环引用:如何解决无限递归?)。我通过修改 Equals 方法解决了这个问题,以便跟踪以前进行的比较: class Foo { 公共字符串名称{get;组; } Foo公共参考书{组 ..
发布时间:2020-09-29 00:51:52 C#/.NET

R计数函数调用

这应该很容易,但是在google或SO上找不到简单的答案。 想象一下在RI中运行一个函数 FOuter(),并在其体内进行一些循环并调用另一个函数 FInner()。是否有一种简单的方法来计数/记录 FInner 被调用的次数?我正在尝试估算如果优化 FInner 可以节省多少时间。 解决方案 您正在寻找 trace 。 f1 ..
发布时间:2020-09-29 00:51:47 其他开发

调用堆栈窗口始终为空

由这段ASP.NET MVC视频我试图理解它的工作原理。 我的理解是,它显示了所有方法调用-按照他们被叫的顺序。但是,在调试时它总是空白-我做错什么了吗? 解决方案 啊!-通常,我一次问了一个问题我可以解决! 事实证明,只有在遇到断点时才显示 ..
发布时间:2020-09-29 00:51:44 其他开发

从调用者的角度发出警告(又称Python,相当于Perl的鲤鱼)?

简短版本: 是否可以用Python实现与Perl的 Carp :: carp 实用程序? 长版(对于不熟悉 Carp :: carp 的人): 假设我们正在实现某些库API函数(即,它打算由其他程序员在其代码中使用),例如 spam ,并假定 spam 包含一些代码来检查传递给它的参数的有效性。当然,如果检测到这些参数有任何问题,则应将此代码引发异常。假设我们要使相关的错误消息和 ..
发布时间:2020-09-29 00:51:42 Python

字节序与堆栈增长方向之间的关系

处理器的字节序与堆栈增长的方向之间是否存在关系? 例如, x86体系结构是小尾数,堆栈向下增长(即,每次执行 push 操作时,堆栈都从最高地址开始向较低地址增长)。同样,在 big endian 的 SPARC体系结构中,堆栈从最低地址开始,然后向上扩展到更高的地址。 几乎在所有体系结构中都可以看到这种关系模式。 我相信这种未提及的约定一定有原因。可以从计算机体系结构或OS的角度来解 ..
发布时间:2020-09-29 00:51:38 其他开发

从内联汇编调用参数时如何将参数传递给C ++函数

因此,我希望能够从c ++ dll调用函数。 由于某些原因,我想从C ++代码中的__asm块调用它们。 我的问题是这样的:我知道在调用函数之前,必须按照函数调用约定指定的顺序将其参数推入堆栈,但是我可以简单地执行以下操作吗: int a = 5; double b = 5.0; __asm { push b push a 调用函数地址 } 让我担心的 ..
发布时间:2020-09-29 00:51:35 其他开发

将警告视为错误

我有一个刚刚重构的PHP应用程序。不幸的是,它发出了如下警告: 警告:preg_match()期望参数2为字符串,在/ home / yacoby / dev中给出的对象/netbeans/php/Zend/Db/Select.php在776行上 这是不可能(或很难完成)的该问题是因为我没有调用堆栈,所以无法分辨代码的哪一部分引起了警告,并且有很多代码。 我需要一个一种方法来处理 ..
发布时间:2020-09-29 00:50:18 PHP

“ [轻量级功能]”在调用堆栈中

我正在调试程序(VS2008),并且正在逐步执行代码行。我碰到了一条正在调用委托函数的行,并且我尝试着一步。但是,没有像我期望的那样进入该方法,而是绕过了该方法,调试器改为进入了我认为是委托调用的函数。在调用堆栈中,我期望委托方法的行将以灰色显示,其内容为 [Lightweight Function] 。 “轻量级功能”部分是什么意思?有没有办法进入此功能? 解决方案 我相信轻量级功 ..
发布时间:2020-09-29 00:50:16 C#/.NET

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

我正尝试将SharePoint 2007网站集功能移植到2010。在功能激活期间,SharePoint显示“黄色死亡屏幕”,指出“此应用程序的当前自定义错误设置阻止了应用程序错误的详细信息被 AFAIK我已经配置了需要查看错误的所有内容: c:\inetpub\中的 wwwroot\wss\VirtualDirectories\80\web.config 我已经设置 < ; sy ..
发布时间:2020-09-29 00:50:12 其他开发

为什么函数参数比返回地址更早地推送到调用堆栈中?

来自 http://en.wikipedia.org/wiki/Stack_pointer#Structure 我想知道为什么函数的返回地址放在该函数的参数上方? 返回地址在拉线参数之前被压入堆栈,因为当弹出返回地址以返回时不再需要这些参数 偏爱上图所示实现的原因是什么? 解决方案 返回地址通常是通过 call 机器命令推送的,该命令以母语的说明设置],同时使用几个由编译 ..
发布时间:2020-09-29 00:50:10 C/C++开发

JS调用堆栈是否总是至少有一帧?

我最近在JS事件循环上看到了演示文稿 ,很棒,但是我现在对JS调用栈还有一个挥之不去的问题。如果您将全局执行上下文视为main(),则main()从未解决?我的理由是,如果可以,那么JS程序将完成,并且不会发生回调。 -edit 我的主要兴趣是相对于回调队列,如何表示调用堆栈。如果说事件循环要等到调用堆栈为空,然后再将新帧推送到堆栈上,那么循环将一直等到程序完成,并且回调不会产生任何作 ..
发布时间:2020-09-29 00:49:06 前端开发