小编Jas*_*man的帖子

glibc backtrace - 无法将输出重定向到文件

我正在调试一个C程序(我没写过).我启用了所有内部调试工具(一大堆printf),我编写了一个使用proc_open()的小PHP脚本,只抓取stdout和stderr,并将它们在一个文件中进行时间坐标.

目前,二进制文件正在死于一个由glibc捕获的realloc()错误,并且打印了一个glibc backtrace,从以下开始:

*** glibc detected *** /sbin/rsyslogd: realloc(): invalid next size: 0x00002ace626ac910 ***
Run Code Online (Sandbox Code Playgroud)

这是我不明白的事情:我已经确认PHP脚本正在从二进制文件的进程中捕获stdout和stderr并将它们写入正确的文件,但是这个回溯仍然打印到控制台.这是从哪里来的?除了stdout和stderr之外还有一些神奇的输出通道吗?

有关如何将此回溯捕获到文件或使用stderr发送出去的任何想法?

谢谢你,杰森

debugging glibc

12
推荐指数
1
解决办法
1637
查看次数

有什么方法可以将参数传递给pytest fixture吗?

不是在讨论参数化夹具功能,它允许夹具多次运行以获得硬编码的参数.

我有很多测试遵循以下模式:

httpcode = 401  # this is different per call
message = 'some message'  # this is different per call
url = 'some url'  # this is different per call


mock_req = mock.MagicMock(spec_set=urllib2.Request)
with mock.patch('package.module.urllib2.urlopen', autospec=True) as mock_urlopen, \
     mock.patch('package.module.urllib2.Request', autospec=True) as mock_request:
    mock_request.return_value = mock_req
    mock_urlopen.side_effect = urllib2.HTTPError(url, httpcode, message, {}, None)
    connection = MyClass()
    with pytest.raises(MyException):
        connection.some_function()  # this changes
Run Code Online (Sandbox Code Playgroud)

从本质上讲,我有一个API客户端类,并包含自定义的,有意义的异常,将urllib2错误包装在特定于API的内容中.所以,我有这个模式 - 修补一些方法,并在其中一个上设置副作用.我在十几个不同的测试中使用它,唯一的区别是side_effect的部分使用的三个变量,以及我调用的MyClass()的方法.

有没有办法让这个pytest夹具并传入这些变量?

python fixture pytest

6
推荐指数
2
解决办法
9580
查看次数

PHP/MySQL小规模模糊搜索

我正在寻找一个小型PHP/MySQL应用程序的模糊搜索.具体来说,我有一个包含大约2400条记录的数据库(记录每年增加约600条记录,因此它是一个小型数据库).三个感兴趣的领域是街道地址,姓氏和日期.我希望能够通过其中一个字段进行搜索,并且基本上可以容忍拼写/字符错误.即,"123 Main Street"的地址也应该与"123 Main St","123 Main St.","123 Mian St","123 Man St","132 Main St"等相匹配.和日期.

我遇到的主要问题是对其他类似问题的回答:

  • 为每个可能的错误拼写定义同义词是不可能的,忘记为日期和名称这样做.
  • 对于如此有限的搜索数据集,Lucene等似乎非常重量级(称其为最多5,000条记录,每条记录3个字段).
  • 使用通配符做一些事情似乎并不符合所有可能的拼写错误.

有什么建议?我知道用MySQL本身做不可能,但由于数据集非常有限,我想保持它相对简单......也许是一个获取数据库所有记录的PHP类,使用某种比较算法,并返回类似记录的ID?

谢谢你,杰森

php mysql search fuzzy-search

5
推荐指数
1
解决办法
6388
查看次数

标签 统计

debugging ×1

fixture ×1

fuzzy-search ×1

glibc ×1

mysql ×1

php ×1

pytest ×1

python ×1

search ×1