Как заставить pdb распознать, что источник изменился между выполнениями?

Я узнал ответ.

// install nginx-extras
apt-get install nginx-extras

// /etc/nginx/sites-enabled/default
server {
  listen 80;

  location / {
        content_by_lua '
            ngx.req.read_body()
            local body_data = ngx.req.get_body_data()

            local sock = ngx.socket.tcp()
            local ok, err = sock:connect("unix:/home/zono/.lightning/lightning-rpc")

            local bytes = sock:send(body_data)

            local readline = sock:receiveuntil("\\n\\n")
            local line, err, part = readline()
            if line then
                ngx.say(line)
            end

            ok, err = sock:close()
        ';
  }
}

// curl
$ curl -X POST --data '{ "method" : "getinfo", "params" : [], "id" : "1" }' http://127.0.0.1
12
задан Martijn Pieters 30 March 2015 в 10:28
поделиться

1 ответ

Под чем Вы подразумеваете, "повторно выполняет программу в pdb?" При импорте модуля Python не перечитает его, если Вы явно не попросите делать так, т.е. с reload(module). Однако reload является совсем не пуленепробиваемым (см. xreload для другой стратегии).

Существует много ловушек в перезагрузке кода Python. Чтобы более надежно решить Вашу проблему Вы могли перенести pdb с классом, который записывает Вашу информацию о точке останова в файл на диске, например, и воспроизводит их на команде.

(Извините, проигнорируйте первую версию этого ответа; рано, и я не считал Ваш вопрос достаточно тщательно.)

3
ответ дан 2 December 2019 в 23:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: