gpt4 book ai didi

windows - 如何在 Windows 上调试 Perl XS 代码

转载 作者:可可西里 更新时间:2023-11-01 13:59:46 26 4
gpt4 key购买 nike

您能描述一下在 Windows 上调试 Perl XS dll 的步骤吗?首选像 Windbg 这样的 UI 调试器。我希望能够在 dll 中的例程上设置断点并检查堆栈等。

我的盒子上有 perl 的调试版本。

最佳答案

你可以尝试做我在 *NIX 下做的一次。

检查从您的.xs 生成的.c,注意xsubpp 为您的函数提供的函数名称。在调试器中打开 Perl 并在具有名称的函数处设置断点。调试器会提示该符号尚不可见,并且断点将在共享库加载期间解析。现在尝试使用您的脚本作为参数来运行 Perl。如果一切正常,那么调试器将在 Perl 加载 XS 时正确解析符号名称。

在某些调试器中,此类较晚解析的符号存在问题。解决方法是在 use your::custom::xs; 之后在脚本中添加对一些罕见系统或标准库调用的调用(我经常使用 getpid()) .在 rare 函数处设置断点。启动 Perl 并等待它到达 rare 调用处的断点。现在您的 XS 应该已经加载并且它的符号对调试器可见。在您要调试的函数处设置断点。

否则,请注意不要在 XS 中放入太多逻辑。 XS 只是一个胶层,因此应该保持薄。如果使用你的 XS 需要额外的逻辑,最好将它放入 .pm 中,它应该已经由 h2xslib/< 中为你的 XS 自动生成 子目录。

希望对您有所帮助。

关于windows - 如何在 Windows 上调试 Perl XS 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3649090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com