• debugging openstack with pdb


    在要开始debug的地方导入pdb:

    
    
    class KeypairAPI(base.Base):
        """Sub-set of the Compute Manager API for managing key pairs."""
        def __init__(self, **kwargs):
            super(KeypairAPI, self).__init__(**kwargs)
    
        def _validate_keypair_name(self, context, user_id, key_name):
    
            import pdb; pdb.set_trace()       
    
            safechars = "_- " + string.digits + string.ascii_letters
            clean_value = "".join(x for x in key_name if x in safechars)
    

    然后触发该代码,如执行cli命令等,然后用screen打开后台就会看到如下:

    .
    .
    2013-03-26 19:56:26 71243 DEBUG nova.utils [-] Reloading cached file /etc/nova/policy.json read_cached_file /usr/lib/python2.6/site-packages/nova/uti1
    2013-03-26 19:56:27 INFO nova.api.openstack.wsgi [req-9ef1fd31-0cec-4465-894a-f1ae0fa9a77e 320ce46de7e24a75a7ff8906d7355ff7 57ff99aae24b4035b52177a72s
    > /usr/lib/python2.6/site-packages/nova/compute/api.py(2198)_validate_keypair_name()
    -> safechars = "_- " + string.digits + string.ascii_letters
    (Pdb) 
    (Pdb)  n
    > /usr/lib/python2.6/site-packages/nova/compute/api.py(2199)_validate_keypair_name()
    -> clean_value = "".join(x for x in key_name if x in safechars)
    (Pdb)  safechars
     '_- 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 
    (Pdb) 
    (Pdb)  quit

    debug完后输入quit继续运行。

    debug好之后不要忘了Remove the debugging fragment from the source file. Start the server daemon gracefully —

    ref: https://kashyapc.com/2013/03/27/debugging-nova-a-small-illustration-with-pdb/

  • 相关阅读:
    如何使用Java计算货币/钱~(How to calculate monetary values in Java)
    BigDecimal类
    状态码定义
    常见服务器返回状态码(Status Codes)
    2020-3-26学习地图
    ReentrantLock类
    HashSet类
    Vector类
    课程总结
    第十四周课程总结&实验报告
  • 原文地址:https://www.cnblogs.com/pinganzi/p/6279968.html
Copyright © 2020-2023  润新知