We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Context fails when a particular value is present in any register
### Description
If a particular value is present in any register ctx throws
```
Cannot access memory at address 0x7ffffffff000
```
It seems to happen at 128TB split but curiously only with unaligned addresses that would cause a qword read to cross 128TB,
so 128TB-{1..7} throws but neither does 128TB-8 or 128TB

Full backtrace
```
Traceback (most recent call last):
  File "/opt/pwndbg/pwndbg/commands/__init__.py", line 130, in __call__
    return self.function(*args, **kwargs)
  File "/opt/pwndbg/pwndbg/commands/__init__.py", line 221, in _OnlyWhenRunning
    return function(*a, **kw)
  File "/opt/pwndbg/pwndbg/commands/context.py", line 269, in context
    result[target].extend(func(target=out,
  File "/opt/pwndbg/pwndbg/commands/context.py", line 350, in context_regs
    regs = get_regs()
  File "/opt/pwndbg/pwndbg/commands/context.py", line 405, in get_regs
    desc = pwndbg.chain.format(value)
  File "/opt/pwndbg/pwndbg/chain.py", line 112, in format
    enhanced = pwndbg.enhance.enhance(chain[-1], code=code)
  File "/opt/pwndbg/pwndbg/enhance.py", line 109, in enhance
    intval  = int(pwndbg.memory.poi(pwndbg.typeinfo.pvoid, value))
gdb.MemoryError: Cannot access memory at address 0x7ffffffff000
```
### Steps to reproduce

```asm
.globl _start
_start:
    mov $0x7fffffffeff8, %rdx # no err
    mov $0x7fffffffeffa, %rdx # err
    mov $0x7fffffffefff, %rdx # err
    mov $0x7ffffffff000, %rdx # no err
    int3
```
```sh
as test.s -o test.o ; ld -e _start test.o -o test
```

### My setup

<!--
Show us your gdb/python/pwndbg/OS/IDA Pro version (depending on your case).

NOTE: We are currently supporting only Ubuntu installations.
It is known that pwndbg is not fully working e.g. on Arch Linux (the heap stuff is not working there).
If you would like to change this situation - help us improving pwndbg and supporting other distros!

This can be displayed in pwndbg through `version` command.

If it is somehow unavailable, use:
* `show version` - for gdb
* `py import sys; print(sys.version)` - for python
* pwndbg version/git commit id
-->

Platform: Linux-5.13.9_1-x86_64-with-glibc2.32
Gdb:      10.2
Python:   3.9.6 (default, Jul  6 2021, 18:29:50)  [GCC 10.2.1 20201203]
Pwndbg:   1.1.0 build: b9e7bf1
Capstone: 4.0.1024
Unicorn:  1.0.3
This GDB was configured as follows:
   configure --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu
             --with-auto-load-dir=$debugdir:$datadir/auto-load
             --with-auto-load-safe-path=$debugdir:$datadir/auto-load
             --with-expat
             --with-gdb-datadir=/usr/share/gdb (relocatable)
             --with-jit-reader-dir=/usr/lib64/gdb (relocatable)
             --without-libunwind-ia64
             --with-lzma
             --without-babeltrace
             --without-intel-pt
             --without-mpfr
             --without-xxhash
             --with-python=/usr (relocatable)
             --with-python-libdir=/usr/lib (relocatable)
             --with-debuginfod
             --without-guile
             --disable-source-highlight
             --with-separate-debug-dir=/usr/lib64/debug (relocatable)
             --with-system-gdbinit=/etc/gdb/gdbinit



--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `pwndbg/enhance.py`
Content:
```
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 """
4 Given an address in memory which does not contain a pointer elsewhere
5 into memory, attempt to describe the data as best as possible.
6 
7 Currently prints out code, integers, or strings, in a best-effort manner
8 dependent on page permissions, the contents of the data, and any
9 supplemental information sources (e.g. active IDA Pro connection).
10 """
11 
12 import string
13 
14 import gdb
15 
16 import pwndbg.arch
17 import pwndbg.color as color
18 import pwndbg.color.enhance as E
19 import pwndbg.config
20 import pwndbg.disasm
21 import pwndbg.memoize
22 import pwndbg.memory
23 import pwndbg.strings
24 import pwndbg.symbol
25 import pwndbg.typeinfo
26 from pwndbg.color.syntax_highlight import syntax_highlight
27 
28 bad_instrs = [
29 '.byte',
30 '.long',
31 'rex.R',
32 'rex.XB',
33 '.inst',
34 '(bad)'
35 ]
36 
37 def good_instr(i):
38     return not any(bad in i for bad in bad_instrs)
39 
40 def int_str(value):
41     retval = '%#x' % int(value & pwndbg.arch.ptrmask)
42 
43     # Try to unpack the value as a string
44     packed = pwndbg.arch.pack(int(value))
45     if all(c in string.printable.encode('utf-8') for c in packed):
46         if len(retval) > 4:
47             retval = '%s (%r)' % (retval, str(packed.decode('ascii', 'ignore')))
48 
49     return retval
50 
51 
52 # @pwndbg.memoize.reset_on_stop
53 def enhance(value, code = True):
54     """
55     Given the last pointer in a chain, attempt to characterize
56 
57     Note that 'the last pointer in a chain' may not at all actually be a pointer.
58 
59     Additionally, optimizations are made based on various sources of data for
60     'value'. For example, if it is set to RWX, we try to get information on whether
61     it resides on the stack, or in a RW section that *happens* to be RWX, to
62     determine which order to print the fields.
63 
64     Arguments:
65         value(obj): Value to enhance
66         code(bool): Hint that indicates the value may be an instruction
67     """
68     value = int(value)
69 
70     name = pwndbg.symbol.get(value) or None
71     page = pwndbg.vmmap.find(value)
72 
73     # If it's not in a page we know about, try to dereference
74     # it anyway just to test.
75     can_read = True
76     if not page or None == pwndbg.memory.peek(value):
77         can_read = False
78 
79     if not can_read:
80         return E.integer(int_str(value))
81 
82     # It's mapped memory, or we can at least read it.
83     # Try to find out if it's a string.
84     instr  = None
85     exe    = page and page.execute
86     rwx    = page and page.rwx
87 
88     # For the purpose of following pointers, don't display
89     # anything on the stack or heap as 'code'
90     if '[stack' in page.objfile or '[heap' in page.objfile:
91         rwx = exe = False
92 
93     # If IDA doesn't think it's in a function, don't display it as code.
94     if pwndbg.ida.available() and not pwndbg.ida.GetFunctionName(value):
95         rwx = exe = False
96 
97     if exe:
98         instr = pwndbg.disasm.one(value)
99         if instr:
100             instr = "%-6s %s" % (instr.mnemonic, instr.op_str)
101             if pwndbg.config.syntax_highlight:
102                 instr = syntax_highlight(instr)
103 
104     szval = pwndbg.strings.get(value) or None
105     szval0 = szval
106     if szval:
107         szval = E.string(repr(szval))
108 
109     intval  = int(pwndbg.memory.poi(pwndbg.typeinfo.pvoid, value))
110     intval0 = intval
111     if 0 <= intval < 10:
112         intval = E.integer(str(intval))
113     else:
114         intval = E.integer('%#x' % int(intval & pwndbg.arch.ptrmask))
115 
116     retval = []
117 
118     # print([instr,intval0,szval])
119     if not code:
120         instr = None
121 
122     # If it's on the stack, don't display it as code in a chain.
123     if instr and 'stack' in page.objfile:
124         retval = [intval, szval]
125 
126 
127 
128     # If it's RWX but a small value, don't display it as code in a chain.
129     elif instr and rwx and intval0 < 0x1000:
130         retval = [intval, szval]
131 
132     # If it's an instruction and *not* RWX, display it unconditionally
133     elif instr and exe:
134         if not rwx:
135             if szval:
136                 retval = [instr, szval]
137             else:
138                 retval = [instr]
139         else:
140             retval = [instr, intval, szval]
141 
142     # Otherwise strings have preference
143     elif szval:
144         if len(szval0) < pwndbg.arch.ptrsize:
145             retval = [intval, szval]
146         else:
147             retval = [szval]
148 
149     # And then integer
150     else:
151         return E.integer(int_str(intval0))
152 
153     retval = tuple(filter(lambda x: x is not None, retval))
154 
155     if len(retval) == 0:
156         return E.unknown("???")
157 
158     if len(retval) == 1:
159         return retval[0]
160 
161     return retval[0] + E.comment(color.strip(' /* {} */'.format('; '.join(retval[1:]))))
162
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/pwndbg/enhance.py b/pwndbg/enhance.py
--- a/pwndbg/enhance.py
+++ b/pwndbg/enhance.py
@@ -106,6 +106,10 @@
     if szval:
         szval = E.string(repr(szval))
 
+    # Fix for case we can't read the end address anyway (#946)
+    if value + pwndbg.arch.ptrsize > page.end:
+        return E.integer(int_str(value))
+
     intval  = int(pwndbg.memory.poi(pwndbg.typeinfo.pvoid, value))
     intval0 = intval
     if 0 <= intval < 10:

{"golden_diff": "diff --git a/pwndbg/enhance.py b/pwndbg/enhance.py\n--- a/pwndbg/enhance.py\n+++ b/pwndbg/enhance.py\n@@ -106,6 +106,10 @@\n     if szval:\n         szval = E.string(repr(szval))\n \n+    # Fix for case we can't read the end address anyway (#946)\n+    if value + pwndbg.arch.ptrsize > page.end:\n+        return E.integer(int_str(value))\n+\n     intval  = int(pwndbg.memory.poi(pwndbg.typeinfo.pvoid, value))\n     intval0 = intval\n     if 0 <= intval < 10:\n", "issue": "Context fails when a particular value is present in any register\n### Description\r\nIf a particular value is present in any register ctx throws\r\n```\r\nCannot access memory at address 0x7ffffffff000\r\n```\r\nIt seems to happen at 128TB split but curiously only with unaligned addresses that would cause a qword read to cross 128TB,\r\nso 128TB-{1..7} throws but neither does 128TB-8 or 128TB\r\n\r\nFull backtrace\r\n```\r\nTraceback (most recent call last):\r\n  File \"/opt/pwndbg/pwndbg/commands/__init__.py\", line 130, in __call__\r\n    return self.function(*args, **kwargs)\r\n  File \"/opt/pwndbg/pwndbg/commands/__init__.py\", line 221, in _OnlyWhenRunning\r\n    return function(*a, **kw)\r\n  File \"/opt/pwndbg/pwndbg/commands/context.py\", line 269, in context\r\n    result[target].extend(func(target=out,\r\n  File \"/opt/pwndbg/pwndbg/commands/context.py\", line 350, in context_regs\r\n    regs = get_regs()\r\n  File \"/opt/pwndbg/pwndbg/commands/context.py\", line 405, in get_regs\r\n    desc = pwndbg.chain.format(value)\r\n  File \"/opt/pwndbg/pwndbg/chain.py\", line 112, in format\r\n    enhanced = pwndbg.enhance.enhance(chain[-1], code=code)\r\n  File \"/opt/pwndbg/pwndbg/enhance.py\", line 109, in enhance\r\n    intval  = int(pwndbg.memory.poi(pwndbg.typeinfo.pvoid, value))\r\ngdb.MemoryError: Cannot access memory at address 0x7ffffffff000\r\n```\r\n### Steps to reproduce\r\n\r\n```asm\r\n.globl _start\r\n_start:\r\n    mov $0x7fffffffeff8, %rdx # no err\r\n    mov $0x7fffffffeffa, %rdx # err\r\n    mov $0x7fffffffefff, %rdx # err\r\n    mov $0x7ffffffff000, %rdx # no err\r\n    int3\r\n```\r\n```sh\r\nas test.s -o test.o ; ld -e _start test.o -o test\r\n```\r\n\r\n### My setup\r\n\r\n<!--\r\nShow us your gdb/python/pwndbg/OS/IDA Pro version (depending on your case).\r\n\r\nNOTE: We are currently supporting only Ubuntu installations.\r\nIt is known that pwndbg is not fully working e.g. on Arch Linux (the heap stuff is not working there).\r\nIf you would like to change this situation - help us improving pwndbg and supporting other distros!\r\n\r\nThis can be displayed in pwndbg through `version` command.\r\n\r\nIf it is somehow unavailable, use:\r\n* `show version` - for gdb\r\n* `py import sys; print(sys.version)` - for python\r\n* pwndbg version/git commit id\r\n-->\r\n\r\nPlatform: Linux-5.13.9_1-x86_64-with-glibc2.32\r\nGdb:      10.2\r\nPython:   3.9.6 (default, Jul  6 2021, 18:29:50)  [GCC 10.2.1 20201203]\r\nPwndbg:   1.1.0 build: b9e7bf1\r\nCapstone: 4.0.1024\r\nUnicorn:  1.0.3\r\nThis GDB was configured as follows:\r\n   configure --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu\r\n             --with-auto-load-dir=$debugdir:$datadir/auto-load\r\n             --with-auto-load-safe-path=$debugdir:$datadir/auto-load\r\n             --with-expat\r\n             --with-gdb-datadir=/usr/share/gdb (relocatable)\r\n             --with-jit-reader-dir=/usr/lib64/gdb (relocatable)\r\n             --without-libunwind-ia64\r\n             --with-lzma\r\n             --without-babeltrace\r\n             --without-intel-pt\r\n             --without-mpfr\r\n             --without-xxhash\r\n             --with-python=/usr (relocatable)\r\n             --with-python-libdir=/usr/lib (relocatable)\r\n             --with-debuginfod\r\n             --without-guile\r\n             --disable-source-highlight\r\n             --with-separate-debug-dir=/usr/lib64/debug (relocatable)\r\n             --with-system-gdbinit=/etc/gdb/gdbinit\r\n\r\n\n", "before_files": [{"content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\"\"\"\nGiven an address in memory which does not contain a pointer elsewhere\ninto memory, attempt to describe the data as best as possible.\n\nCurrently prints out code, integers, or strings, in a best-effort manner\ndependent on page permissions, the contents of the data, and any\nsupplemental information sources (e.g. active IDA Pro connection).\n\"\"\"\n\nimport string\n\nimport gdb\n\nimport pwndbg.arch\nimport pwndbg.color as color\nimport pwndbg.color.enhance as E\nimport pwndbg.config\nimport pwndbg.disasm\nimport pwndbg.memoize\nimport pwndbg.memory\nimport pwndbg.strings\nimport pwndbg.symbol\nimport pwndbg.typeinfo\nfrom pwndbg.color.syntax_highlight import syntax_highlight\n\nbad_instrs = [\n'.byte',\n'.long',\n'rex.R',\n'rex.XB',\n'.inst',\n'(bad)'\n]\n\ndef good_instr(i):\n    return not any(bad in i for bad in bad_instrs)\n\ndef int_str(value):\n    retval = '%#x' % int(value & pwndbg.arch.ptrmask)\n\n    # Try to unpack the value as a string\n    packed = pwndbg.arch.pack(int(value))\n    if all(c in string.printable.encode('utf-8') for c in packed):\n        if len(retval) > 4:\n            retval = '%s (%r)' % (retval, str(packed.decode('ascii', 'ignore')))\n\n    return retval\n\n\n# @pwndbg.memoize.reset_on_stop\ndef enhance(value, code = True):\n    \"\"\"\n    Given the last pointer in a chain, attempt to characterize\n\n    Note that 'the last pointer in a chain' may not at all actually be a pointer.\n\n    Additionally, optimizations are made based on various sources of data for\n    'value'. For example, if it is set to RWX, we try to get information on whether\n    it resides on the stack, or in a RW section that *happens* to be RWX, to\n    determine which order to print the fields.\n\n    Arguments:\n        value(obj): Value to enhance\n        code(bool): Hint that indicates the value may be an instruction\n    \"\"\"\n    value = int(value)\n\n    name = pwndbg.symbol.get(value) or None\n    page = pwndbg.vmmap.find(value)\n\n    # If it's not in a page we know about, try to dereference\n    # it anyway just to test.\n    can_read = True\n    if not page or None == pwndbg.memory.peek(value):\n        can_read = False\n\n    if not can_read:\n        return E.integer(int_str(value))\n\n    # It's mapped memory, or we can at least read it.\n    # Try to find out if it's a string.\n    instr  = None\n    exe    = page and page.execute\n    rwx    = page and page.rwx\n\n    # For the purpose of following pointers, don't display\n    # anything on the stack or heap as 'code'\n    if '[stack' in page.objfile or '[heap' in page.objfile:\n        rwx = exe = False\n\n    # If IDA doesn't think it's in a function, don't display it as code.\n    if pwndbg.ida.available() and not pwndbg.ida.GetFunctionName(value):\n        rwx = exe = False\n\n    if exe:\n        instr = pwndbg.disasm.one(value)\n        if instr:\n            instr = \"%-6s %s\" % (instr.mnemonic, instr.op_str)\n            if pwndbg.config.syntax_highlight:\n                instr = syntax_highlight(instr)\n\n    szval = pwndbg.strings.get(value) or None\n    szval0 = szval\n    if szval:\n        szval = E.string(repr(szval))\n\n    intval  = int(pwndbg.memory.poi(pwndbg.typeinfo.pvoid, value))\n    intval0 = intval\n    if 0 <= intval < 10:\n        intval = E.integer(str(intval))\n    else:\n        intval = E.integer('%#x' % int(intval & pwndbg.arch.ptrmask))\n\n    retval = []\n\n    # print([instr,intval0,szval])\n    if not code:\n        instr = None\n\n    # If it's on the stack, don't display it as code in a chain.\n    if instr and 'stack' in page.objfile:\n        retval = [intval, szval]\n\n\n\n    # If it's RWX but a small value, don't display it as code in a chain.\n    elif instr and rwx and intval0 < 0x1000:\n        retval = [intval, szval]\n\n    # If it's an instruction and *not* RWX, display it unconditionally\n    elif instr and exe:\n        if not rwx:\n            if szval:\n                retval = [instr, szval]\n            else:\n                retval = [instr]\n        else:\n            retval = [instr, intval, szval]\n\n    # Otherwise strings have preference\n    elif szval:\n        if len(szval0) < pwndbg.arch.ptrsize:\n            retval = [intval, szval]\n        else:\n            retval = [szval]\n\n    # And then integer\n    else:\n        return E.integer(int_str(intval0))\n\n    retval = tuple(filter(lambda x: x is not None, retval))\n\n    if len(retval) == 0:\n        return E.unknown(\"???\")\n\n    if len(retval) == 1:\n        return retval[0]\n\n    return retval[0] + E.comment(color.strip(' /* {} */'.format('; '.join(retval[1:]))))\n", "path": "pwndbg/enhance.py"}], "after_files": [{"content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\"\"\"\nGiven an address in memory which does not contain a pointer elsewhere\ninto memory, attempt to describe the data as best as possible.\n\nCurrently prints out code, integers, or strings, in a best-effort manner\ndependent on page permissions, the contents of the data, and any\nsupplemental information sources (e.g. active IDA Pro connection).\n\"\"\"\n\nimport string\n\nimport gdb\n\nimport pwndbg.arch\nimport pwndbg.color as color\nimport pwndbg.color.enhance as E\nimport pwndbg.config\nimport pwndbg.disasm\nimport pwndbg.memoize\nimport pwndbg.memory\nimport pwndbg.strings\nimport pwndbg.symbol\nimport pwndbg.typeinfo\nfrom pwndbg.color.syntax_highlight import syntax_highlight\n\nbad_instrs = [\n'.byte',\n'.long',\n'rex.R',\n'rex.XB',\n'.inst',\n'(bad)'\n]\n\ndef good_instr(i):\n    return not any(bad in i for bad in bad_instrs)\n\ndef int_str(value):\n    retval = '%#x' % int(value & pwndbg.arch.ptrmask)\n\n    # Try to unpack the value as a string\n    packed = pwndbg.arch.pack(int(value))\n    if all(c in string.printable.encode('utf-8') for c in packed):\n        if len(retval) > 4:\n            retval = '%s (%r)' % (retval, str(packed.decode('ascii', 'ignore')))\n\n    return retval\n\n\n# @pwndbg.memoize.reset_on_stop\ndef enhance(value, code = True):\n    \"\"\"\n    Given the last pointer in a chain, attempt to characterize\n\n    Note that 'the last pointer in a chain' may not at all actually be a pointer.\n\n    Additionally, optimizations are made based on various sources of data for\n    'value'. For example, if it is set to RWX, we try to get information on whether\n    it resides on the stack, or in a RW section that *happens* to be RWX, to\n    determine which order to print the fields.\n\n    Arguments:\n        value(obj): Value to enhance\n        code(bool): Hint that indicates the value may be an instruction\n    \"\"\"\n    value = int(value)\n\n    name = pwndbg.symbol.get(value) or None\n    page = pwndbg.vmmap.find(value)\n\n    # If it's not in a page we know about, try to dereference\n    # it anyway just to test.\n    can_read = True\n    if not page or None == pwndbg.memory.peek(value):\n        can_read = False\n\n    if not can_read:\n        return E.integer(int_str(value))\n\n    # It's mapped memory, or we can at least read it.\n    # Try to find out if it's a string.\n    instr  = None\n    exe    = page and page.execute\n    rwx    = page and page.rwx\n\n    # For the purpose of following pointers, don't display\n    # anything on the stack or heap as 'code'\n    if '[stack' in page.objfile or '[heap' in page.objfile:\n        rwx = exe = False\n\n    # If IDA doesn't think it's in a function, don't display it as code.\n    if pwndbg.ida.available() and not pwndbg.ida.GetFunctionName(value):\n        rwx = exe = False\n\n    if exe:\n        instr = pwndbg.disasm.one(value)\n        if instr:\n            instr = \"%-6s %s\" % (instr.mnemonic, instr.op_str)\n            if pwndbg.config.syntax_highlight:\n                instr = syntax_highlight(instr)\n\n    szval = pwndbg.strings.get(value) or None\n    szval0 = szval\n    if szval:\n        szval = E.string(repr(szval))\n\n    # Fix for case we can't read the end address anyway (#946)\n    if value + pwndbg.arch.ptrsize > page.end:\n        return E.integer(int_str(value))\n\n    intval  = int(pwndbg.memory.poi(pwndbg.typeinfo.pvoid, value))\n    intval0 = intval\n    if 0 <= intval < 10:\n        intval = E.integer(str(intval))\n    else:\n        intval = E.integer('%#x' % int(intval & pwndbg.arch.ptrmask))\n\n    retval = []\n\n    # print([instr,intval0,szval])\n    if not code:\n        instr = None\n\n    # If it's on the stack, don't display it as code in a chain.\n    if instr and 'stack' in page.objfile:\n        retval = [intval, szval]\n\n\n\n    # If it's RWX but a small value, don't display it as code in a chain.\n    elif instr and rwx and intval0 < 0x1000:\n        retval = [intval, szval]\n\n    # If it's an instruction and *not* RWX, display it unconditionally\n    elif instr and exe:\n        if not rwx:\n            if szval:\n                retval = [instr, szval]\n            else:\n                retval = [instr]\n        else:\n            retval = [instr, intval, szval]\n\n    # Otherwise strings have preference\n    elif szval:\n        if len(szval0) < pwndbg.arch.ptrsize:\n            retval = [intval, szval]\n        else:\n            retval = [szval]\n\n    # And then integer\n    else:\n        return E.integer(int_str(intval0))\n\n    retval = tuple(filter(lambda x: x is not None, retval))\n\n    if len(retval) == 0:\n        return E.unknown(\"???\")\n\n    if len(retval) == 1:\n        return retval[0]\n\n    return retval[0] + E.comment(color.strip(' /* {} */'.format('; '.join(retval[1:]))))\n", "path": "pwndbg/enhance.py"}]}