Python程序在Eclipse中静默崩溃

时间:2018-09-11 20:58:40

标签: python eclipse python-2.7

我的问题是,在Eclipse中以“运行模式”运行时,我的代码无声地崩溃(只是停止了),但是在“调试模式”下运行并从控制台启动时正在运行。 我正在使用Eclipse Kepler,Python 2.7.6。

我的主要代码是:

#...
values = self._nibeparser.parse_values(responses["serviceinfo"])
names_dict = self._nibeparser.parse_valuenames(responses["serviceinfo"])
#...

响应中的参数是字符串格式的html站点。 这是方法parse_values的开头:

def parse_values(self, page):
    self._logger.debug("Parse values from page")
    return_dict = {}

    soup = BeautifulSoup(page, "lxml")
    self._logger.info(soup.prettify())
    #...doing some parsing

这是方法parse_valuenames的开头:

def parse_valuenames(self, page):
    self._logger.debug("Parse valuenames from page")
    self._logger.debug(page)
    self._logger.debug(type(page))
    return_dict = {}
    self._logger.debug("a")
    soup = BeautifulSoup(page, "lxml")
    self._logger.info(soup.prettify())
    #...

该代码未到达最后一个记录程序语句。没有错误信息,只是停止了。在“运行”模式下,如果我在main中调用parse_values来分解行,则方法parse_valuenames起作用。

我的假设是,在调用方法parse_valuenames时可能会在内部进行检查,是否需要再次创建BeautifulSoup实例。它不会被创建,因为它可能仍在parse_values方法的缓存中。刚刚检查之后,它可能会被销毁,因为先前的调用已完成。这使程序停止。 我的假设可以吗?如何检查和预防?

0 个答案:

没有答案