如何修复 emacs 中的“正则表达式匹配器中的堆栈溢出”

2024-07-04

我是 Emacs 的忠实粉丝,并且经常使用它,尤其是在编程和调试(使用 gud)(C/C++)时。

最近我必须调试一个程序(相当简单,但需要计算大量数据(图论)),但我遇到了一个相当烦人的问题。 在程序逐步执行过程中,出现以下错误:

error in process filter: Stack overflow in regexp matcher

我做了一些研究来找出它是什么,然后我发现了这篇文章:在 emacs 中调试(使用 gud)经常会导致堆栈溢出错误 https://stackoverflow.com/questions/2882488/debugging-in-emacs-with-gud-often-results-in-stack-overflow-error.

据我了解,正则表达式匹配器存在问题,而且我的程序中的某些内容太长了? (我确实有非常长的函数名称和很多参数,而且我还使用了非常大的容器。)

我真的很想解决这个问题,但我对调试 Emacs Lisp 一无所知,有人可以帮助我吗?

这是我从 Emacs 内部调试器获得的输出:http://pastebin.com/5CKe74e6 http://pastebin.com/5CKe74e6

我还应该指出,我使用 Emacs Prelude 的个性化版本。


根本问题是正则表达式 (regexp) 包含太多替代项,当应用于(通常很长)文本时,它无法匹配它尝试匹配的任何内容。

在你的情况下,它是正则表达式:

"\\([[:alnum:]-_]+\\)=\\({\\|\\[\\|\"\"\\|\"\\(?:[^\\\"]\\|\\\\.\\)*\"\\)"

函数使用哪个gdb-jsonify-buffer.

看起来这个正则表达式试图匹配分配。基本上,它匹配一个变量左侧=和右侧表达式(的一部分)。正则表达式似乎匹配的内容之一是包含转义引号的字符串——这始终是一个警告信号,因为 Emacs 提供了更好的解析字符串的方法。

问题可能源于以下事实:此正则表达式是错误的(因此它匹配的字符串比您的字符串多得多)、您的字符串格式不正确,或者您的程序仅包含一个非常大的字符串。

我建议您向该包的维护者提交错误报告。确保包含导致触发错误的文本。

或者,您可以尝试自己修复此问题。我建议您将复杂的正则表达式替换为更简单的正则表达式,以查找字符串的开头。然后您可以使用,例如,(forward-sexp)找到字符串的结尾。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修复 emacs 中的“正则表达式匹配器中的堆栈溢出” 的相关文章

  • 正则表达式捕获冒号分隔的键值对,具有多行值

    我目前正在 Ruby on Rails 在 Eclipse 中 中开发一个项目 我的任务是使用正则表达式将数据块拆分为相关部分 我决定根据 3 个参数来分解数据 该行必须以大写字母开头 正则表达式等效 A Z 它必须以 正则表达式等效项 我
  • 设置 Emacs 并排分割缓冲区

    很多 Emacs 功能会自动分割屏幕 然而 它们的做法都是使窗户一个在另一个之上 有什么方法可以让它们分开 以便默认情况下它们是并排的吗 setq split height threshold nil setq split width th
  • 如何更改 gdb 中的值

    所以我有这个家庭作业代码 我必须使用 gdb 进行调试 我发现了问题 但不知道如何使用gdb来改变它 define ARRAYSIZE 12 for i ARRAYSIZE 2 i gt 0 i for j i j lt ARRAYSIZE
  • 使用正则表达式在 Pandas Series 的各个单元格内分隔逗号分隔的值

    我有一个来自数据库的 csv 文件 我已将其转换为我正在尝试清理的 Pandas DataFrame 问题之一是多个值已输入到需要拆分的单个单元格中 复杂的因素是有一些字符串注释 也带有逗号 需要保持完整 下面的示例以系列形式说明了该问题
  • symfony2 实体验证正则表达式 a-z A-Z 0-9

    symfony2 中是否有一种内置方法可以根据经典的 a z A Z 和 0 9 规则验证字符串 在我的例子中是用户名和另一个属性 我是否必须自己在正则表达式中编写它作为自定义验证器 如果是这样 请提示在哪里查看 你应该使用原生的正则表达式
  • 带转义引号的带引号字符串的正则表达式

    如何获取子字符串 It s big problem 使用正则表达式 s function return It s big problem 适用于 Regex Coach 和 PCRE Workbench JavaScript 测试示例 va
  • 如何获取 ruby​​ 回溯中的源值和变量值?

    Here s the last few frames of a typical Ruby on Rails traceback And here are the last few frames of a typical Nevow trac
  • VS 调试并观察变量的变化

    我在一个类中有一个属性 它正在被某些东西改变 我更改此代码值的唯一地方是如下行 pushpin Position Altitude 31 在 Visual Studio 调试期间 有没有办法观察 Altitude 所做的任何更改 最好是在更
  • PHP 正则表达式:按未转义分隔符分割

    我能够以格式分割字符串key value 使用以下代码 inside key1 value1 key2 value2 key3 value3 preg match all s inside pairs 我想做的是通过引入转义字符来允许值中出
  • 如何修复 safari 6 Web Inspector,使其能够与 iOS 设备或模拟器配合使用?

    每当我尝试将 safari Web 检查器连接到在前台运行移动 safari 的模拟器或设备时 我尝试检查的网站永远不会在检查器中完全加载 DOM 永远不会在 dom 树视图中填充 我必须在资源视图中折叠和展开网页才能看到脚本 图像 框架等
  • PHP Regex,从文本中提取所有自定义标签

    简而言之 我需要从一段文本中提取大括号内的所有字符串 如下所示 这是一个 tag 但这里也是 tag 2 然后又是 tag 3 这里但周围有一些垃圾 我想获得一个标签数组 tag 2 和 tag 3 标签只能包含单词字符 我试过这个 tag
  • 如何在maven下调试Flex应用程序

    我开发在 Apache Tomcat 下运行的 Flex Java 应用程序 我使用 Eclipse 的 Flex Builder 插件作为我的 IDE 我的应用程序由多个库和模块组成 我将它们作为小型 Maven flex mojos 项
  • 如果字符串包含所有单词或条件,则正则表达式匹配

    我正在使用 php 和 regex 制作一个简单的文字游戏 如果一个字符串必须需要两个或更多单词 我们如何搜索它 lets say cat dog play x 2 if 猫狗玩玩 pass 你好 一只正在玩耍的猫狗 not pass 只有
  • 连接字符串的 Powershell 正则表达式?

    由于某种原因 我在解析 web config 文件中的连接字符串时遇到了困难 我已经获得了 connectionString 但我正在尝试获取所有值 例如 数据源 初始目录 Username etc 连接字符串如下所示 数据源 db sam
  • 获取索引处字符的 ANSI 颜色

    我已经开发了couleursNPM包 https github com IonicaBizau couleurs可以设置追加rgb方法String prototype gt console log Hello World rgb 255 0
  • 如何使用 w3m 呈现 EMAIL 消息中的 HTML 内容?

    我如何使用 w3m 或其他方式在 EMAIL 消息中显示内嵌的 HTML 内容 或者至少在外部 Web 浏览器中打开其 MIME 部分 我找到的唯一解决方案是在 EmacsWiki 中 但它是 1996 年的代码 对我来说不起作用 至少在
  • 构建并运行在 xcode 中禁用

    有一些应用程序显示构建并运行图标已禁用 这使我无法运行该应用程序 并非所有应用程序都会发生这种情况 但只有少数应用程序会发生这种情况 它主要发生在 facebook 应用程序和其他一些应用程序中 有人能知道可能是什么问题吗 我已经尝试了更改
  • 如何将编译的正则表达式(std::regex)保存/序列化到文件?

    我在用着
  • 我应该使用哪个 Emacs 邮件包? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我对 GNU Emacs 附带的 显然 有能力的邮件读写软件包的数量感到不知所措 更不用说第 3 方的软件包了 我什至不知道从哪里开始 所以让我只说一
  • 通过 powershell 将调试器附加到多个进程

    我有几个正在运行的进程 我想通过 powershell 将它们附加到 VS 调试器 目前 我可以这样做 Get Process NServiceBus Host Debug Process 如果只有一个进程 系统会提示我选择正确的调试器 然

随机推荐

  • 定位彩条 - Matplotlib

    我有一个合并两个数据的图 鉴于此 我必须显示两个不同的颜色条 每个数据一个 我目前正在绘制数据如下 plt figure Data 1 fig plt imshow data1 interpolation nearest cmap bina
  • C# 奇怪的精度丢失 int 到浮动和向后

    当尝试从 int 转换为 float 并向后转换时 会发生奇怪的事情 原始示例代码 整数值 28218681 val 28218681 浮点 fVal 浮点 val fVal 2 821868E 07 int val2 int fVal v
  • PHP SQLSRV:sqlsrv_query() 是否可以正确地准备 select 语句?

    TL DR Does sqlsrv query 做同样的工作select陈述比sqlsrv prepare and sqlsrv execute 关于准备好的陈述 做什么 我怎样才能做一个安全的select陈述 一点历史 我是 PHP 开发
  • Opencv 3D 来自立体对中的点

    OpenCV 中是否有一个简单的函数可以从立体相机对中获取对象的 3D 位置和姿态 我用棋盘校准了相机和基线 我现在想要获取一个已知的物体 就像同一个棋盘一样 在它自己的坐标中具有已知的 3D 点 并找到真实世界的位置 在相机坐标中 有一些
  • 在 Visual Studio 中启动 Web API 项目的最简洁方法(无视图)

    删除 Visual Studio API 模板通常附带的所有额外内容 如视图和其他如果您只想拥有 WebAPI 服务则不需要的内容 的最干净方法是什么 我假设 VIEWS 文件夹用于 MVC 视图 也许我错了 它需要有一个正在运行的 API
  • Python就地写入文件任意位置

    我正在尝试在 python 中就地编辑文本文件 它非常大 因此无法将其加载到内存中 我打算替换我在里面找到的逐字节字符串 with f as open filename txt r b if f read 8 01234567 f seek
  • UIWebView 中自动填充用户名和密码

    我正在为我做一个非常简单的应用程序 当我启动这个应用程序时 它只会将我带到这个网页https social tre it expert https social tre it expert 我想自动登录 那么有没有办法自动填写用户名和密码
  • Java中等待的最佳方式

    我有一个应用程序需要等待一段未知的时间 它必须等到服务器完成几个数据字段的填充 服务器的 API 为我提供了一种请求数据的方法 非常简单 服务器的 API 还提供了一种接收回数据的方法 一次接收一个字段 它没有告诉我所有字段何时完成填充 等
  • 如何按字母顺序对单键字典数组进行排序?

    我想对 Facebook 的 Graph API 返回的好友列表进行排序 排序后的结果需要是按好友名字的字母顺序排列 name Joe Smith id 6500000 name Andrew Smith id 82000 name Dor
  • ActiveRecord 触摸导致死锁

    我的应用程序使用touch广泛地利用 Rails 的模板缓存系统 当批量中的许多不同对象之间创建许多关系时 我的应用程序会执行某种类型的工作 有时 其中一些工作会导致级联touches 导致死锁 我可以针对这种情况进行编码 我经常看到这种情
  • Instagram 如何命名文件

    Instagram 如何命名文件 文件名是随机的吗 基于某种哈希 或者它们有什么意义吗 例如 http distilleryimage2 instagram com 21a9ca729bf511e2985c22000a1f9ad3 7 jp
  • 为什么这个简单的洗牌算法(通过 random() 排序)存在偏差?

    In 这个线程 https stackoverflow com a 18650169 17102262我们看到这个简单而漂亮的算法来洗牌数组 function shuffle
  • 限制 Webstorm 中的重构范围

    有没有一种方法可以配置 Webstorm 以便在重构时忽略我项目的特定区域 具体来说 我希望能够忽略包含第 3 方依赖项和构建资产的文件夹 例如 node modules 您可以按照描述创建这些文件夹的 JavaScript 库here h
  • 如何在ggplot2图例标签中添加Latex代码?

    考虑以下示例 p lt ggplot data data frame A c 1 2 3 4 5 6 7 8 B c 4 1 2 1 3 2 4 1 C c A B A B A B A B p lt p geom line aes x A
  • 为什么 BITMAPS 加载“向上”?

    如果您有一个非常非常大的 JPG 和嵌入 HTML 的 BMP 并将其加载到 Firefox 中 您会注意到 JPG 将 向下 加载 从左到右绘制 然后向下 而 BMP 将 向上 加载 从右向左绘画 然后向上 只是好奇 我不久前写了一个位图
  • 更改引导程序中单击按钮的颜色

    我正在尝试更改单击按钮的颜色 我正在蓝色的 Bootstrap 按钮上执行此操作 但我的代码不起作用 我的 JavaScript 代码如下 它没有改变颜色
  • jqGrid - 未应用日期和时间格式

    我有一个显示 3 列的 jqGrid 其中一列是日期时间 正在返回的 SQL 日期时间字段 colModel 设置如下 colModel name col1 sortable false name col2 sortable false n
  • 我可以分享到我的 NativeScript 应用程序吗?

    在 NativeScript 的当前状态下 是否可以创建一个在 Android 上侦听共享意图的应用程序 我想要实现的是 例如在 Android 上的网络浏览器中打开一个网站 点击共享并在共享目标列表中查看我的 NativeScript 应
  • 如何隐藏 html 表格中的多行(数千行)

    我有很多行的 html 页面 大约 40000 table tr td row 1 td tr tr td row 2 td tr tr td row 30000 td tr table 我需要一种快速的方法来隐藏 显示具有指定名称的行集
  • 如何修复 emacs 中的“正则表达式匹配器中的堆栈溢出”

    我是 Emacs 的忠实粉丝 并且经常使用它 尤其是在编程和调试 使用 gud C C 时 最近我必须调试一个程序 相当简单 但需要计算大量数据 图论 但我遇到了一个相当烦人的问题 在程序逐步执行过程中 出现以下错误 error in pr