小编Joh*_*ann的帖子

如何在 GNU 屏幕内的 Emacs 中重新启用 ctrl-s?

当使用 Emacs 在 GNU 屏幕会话(我经常这样做)中编辑代码时,有时我会进入一种一切仍然有效的状态(例如编辑和滚动正常工作),除了ctrl-s这在 emacs 中绝对是灾难性的。ctrl——s似乎被无声无息地忽视了。就好像我从来没有按下过一样。其他 Ctrl 组合似乎工作正常(例如ctrl- x)。

我尝试这样做来恢复:

  • 从外壳内重置终端。
  • 在 GNU 屏幕中重置终端。
  • 重新启动 emacs。

这些都没有帮助。

发生了什么?

我怎样才能让ctrl-s起死回生?

emacs gnu-screen

7
推荐指数
1
解决办法
840
查看次数

如何使用未初始化的数据有意初始化变量,以便valgrind将变量视为未初始化?

我的代码中有一个垃圾数据缓冲区,我将其传递给写入它的函数.我不需要这个垃圾缓冲区的数据.由于我需要在多个地方使用这样的垃圾数据缓冲区,但从不从它们读取,我到处使用相同的垃圾缓冲区.

当一些虚假代码从垃圾数据缓冲区中读取时,这将是致命的,或者,例如,当我使用垃圾数据缓冲区时,我应该使用适当的专用缓冲区.

理想情况下,我想让伪代码快速崩溃,因此我在调用写入函数后对数据进行加扰,因此没有人可以使用(并依赖)垃圾数据.

现在我有了一个想法,我可以将未初始化的数据复制到垃圾数据而不是加扰它,因此valgrind可以从垃圾缓冲区中找到所有读取.

我当前的解决方案是new []一些字节,并将未初始化的内容复制到垃圾缓冲区,然后删除[]未初始化的数据.由于未初始化的数据在大多数情况下都是0(不幸的是),因此我将其与模式进行异或.对于这么简单的事情,这一切似乎都很复杂.

有没有人想出更好的解决方案?

c++ heap valgrind

3
推荐指数
1
解决办法
140
查看次数

标签 统计

c++ ×1

emacs ×1

gnu-screen ×1

heap ×1

valgrind ×1