This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 341292064db20ebdc054cd9c20ddcbf430cabf88
Author: chenzhijia <chenzhi...@xiaomi.com>
AuthorDate: Fri Feb 21 09:44:12 2025 +0800

    nxgdb/utils.py: Fix source gdbinit.py script error report
    
    Registering NuttX GDB commands from 
/home/mi/code/stable_oh2/nuttx/tools/pynuttx/nxgdb
    set pagination off
    set python print-stack full
    "handle SIGUSR1 "nostop" "pass" "noprint"
    Load macro: /tmp/6024dea73606400ae39a7b7da42cecbf.json
    Please pip install debugpyIgnore module: elf, error: 'NoneType' object has 
no attribute 'code'
    Traceback (most recent call last):
      File "/home/mi/code/stable_oh2/nuttx/tools/pynuttx/nxgdb/_init_.py", line 
54, in init_gdb_commands
        module = importlib.import_module(f"{_package_}.{m}")
      File "/usr/lib/python3.10/importlib/_init_.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in 
_find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in 
_call_with_frames_removed
      File "/home/mi/code/stable_oh2/nuttx/tools/pynuttx/nxgdb/elf.py", line 
35, in <module>
        CONFIG_ARCH_USE_SEPARATED_SECTION = has_field("struct module_s", 
"sectalloc")
      File "/home/mi/code/stable_oh2/nuttx/tools/pynuttx/nxgdb/utils.py", line 
488, in has_field
        return get_type_field(obj, field) is not None
      File "/home/mi/code/stable_oh2/nuttx/tools/pynuttx/nxgdb/utils.py", line 
267, in get_type_field
        while t.code in (gdb.TYPE_CODE_PTR, gdb.TYPE_CODE_ARRAY, 
gdb.TYPE_CODE_TYPEDEF):
    AttributeError: 'NoneType' object has no attribute 'code'
    No symbol g_version found in memory, skipping version check
    
    Signed-off-by: chenzhijia <chenzhi...@xiaomi.com>
---
 tools/pynuttx/nxgdb/utils.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/pynuttx/nxgdb/utils.py b/tools/pynuttx/nxgdb/utils.py
index cff1f0d57d..b7911796d8 100644
--- a/tools/pynuttx/nxgdb/utils.py
+++ b/tools/pynuttx/nxgdb/utils.py
@@ -263,6 +263,9 @@ def get_type_field(obj: Union[TypeOrStr, gdb.Value], field: 
str) -> gdb.Field:
     else:
         raise gdb.GdbError(f"Unsupported type {type(obj)}")
 
+    if not t:
+        return None
+
     while t.code in (gdb.TYPE_CODE_PTR, gdb.TYPE_CODE_ARRAY, 
gdb.TYPE_CODE_TYPEDEF):
         t = t.target()
 

Reply via email to