internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: pwndbg/pwndbg

Issue:
"show print elements 0" causes exceptions on stop
```
pwndbg> show print elements
Limit on string chars or array elements to print is unlimited.
Traceback (most recent call last):
  File "/home/david/.pwndbg/pwndbg/events.py", line 111, in caller
    func()
  File "/home/david/.pwndbg/pwndbg/strings.py", line 34, in update_length
    length  = int(message)
  File "/home/david/.pwndbg/pwndbg/inthook.py", line 44, in __new__
    return _int(_int(value, *a, **kw))
ValueError: invalid literal for int() with base 10: 'unlimited'
Python Exception <class 'ValueError'> invalid literal for int() with base 10: 'unlimited': 
```


Discussion:

Resolving patch:
diff --git a/pwndbg/strings.py b/pwndbg/strings.py
--- a/pwndbg/strings.py
+++ b/pwndbg/strings.py
@@ -31,7 +31,10 @@ def update_length():
     message = gdb.execute('show print elements', from_tty=False, to_string=True)
     message = message.split()[-1]
     message = message.strip('.')
-    length  = int(message)
+    if message == 'unlimited':
+        length = 0
+    else:
+        length = int(message)
 
 def get(address, maxlen = None):
     if maxlen is None:
@@ -46,7 +49,7 @@ def get(address, maxlen = None):
     except Exception as e:
         return None
 
-    if len(sz) < maxlen:
+    if len(sz) < maxlen or not maxlen:
         return sz
 
     return sz[:maxlen] + '...'


Test patch:
Repository: pwndbg/pwndbg

Issue:
"This command is not documented."
It looks like we lost documentation via `help` at some point in time.  This is related to #232 

```
pwndbg> help search
This command is not documented.
```




Discussion:

Resolving patch:
diff --git a/pwndbg/commands/__init__.py b/pwndbg/commands/__init__.py
--- a/pwndbg/commands/__init__.py
+++ b/pwndbg/commands/__init__.py
@@ -206,7 +206,7 @@ class _ArgparsedCommand(Command):
     def __init__(self, parser, function, *a, **kw):
         self.parser = parser
         self.parser.prog = function.__name__
-        function.__doc__ = self.parser.description
+        self.__doc__ = function.__doc__ = self.parser.description
         super(_ArgparsedCommand, self).__init__(function, *a, **kw)
 
     def split_args(self, argument):


Test patch:
Repository: pwndbg/pwndbg

Issue:
Broken `entry` command
### Description

The `entry` command pass arguments differently then the `run` command.

### Steps to reproduce

```
[dc@dc:pwndbg|dev *$%]$ gdb python
Loaded 113 commands. Type pwndbg [filter] for a list.
Reading symbols from python...(no debugging symbols found)...done.
pwndbg> set exception-verbose on
Set whether to print a full stacktracefor exceptions raised in Pwndbg commands to True
pwndbg> run -c "print(1); print(2)"
Starting program: /usr/bin/python -c "print(1); print(2)"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
1
2
[Inferior 1 (process 20590) exited normally]
pwndbg> entry -c "print(1); print(2)"
('-c', 'print(1); print(2)')
Running '%s' run -c print(1); print(2)
/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `exec /usr/bin/python -c print(1); print(2)'
Traceback (most recent call last):
  File "/home/dc/installed/pwndbg/pwndbg/commands/__init__.py", line 100, in __call__
    return self.function(*args, **kwargs)
  File "/home/dc/installed/pwndbg/pwndbg/commands/__init__.py", line 181, in _OnlyWithFile
    return function(*a, **kw)
  File "/home/dc/installed/pwndbg/pwndbg/commands/start.py", line 72, in entry
    gdb.execute(run, from_tty=False)
gdb.error: During startup program exited with code 1.

If that is an issue, you can report it on https://github.com/pwndbg/pwndbg/issues
(Please don't forget to search if it hasn't been reported before)
PS: Pull requests are welcome
```

### My version

```
pwndbg> version
Gdb: GNU gdb (GDB) 8.0.1
Python: 3.6.3 (default, Oct 24 2017, 14:48:20)  [GCC 7.2.0]
Pwndbg: 1.0.0 build: 5811010
```


Discussion:

Resolving patch:
diff --git a/pwndbg/commands/start.py b/pwndbg/commands/start.py
--- a/pwndbg/commands/start.py
+++ b/pwndbg/commands/start.py
@@ -9,6 +9,8 @@
 from __future__ import print_function
 from __future__ import unicode_literals
 
+import shlex
+
 import gdb
 
 import pwndbg.commands
@@ -66,5 +68,5 @@ def entry(*a):
     """
     global break_on_first_instruction
     break_on_first_instruction = True
-    run = 'run ' + ' '.join(a)
+    run = 'run ' + ' '.join(map(shlex.quote, a))
     gdb.execute(run, from_tty=False)


Test patch:
Repository: pwndbg/pwndbg

Issue:
Broken `entry` command
### Description

The `entry` command pass arguments differently then the `run` command.

### Steps to reproduce

```
[dc@dc:pwndbg|dev *$%]$ gdb python
Loaded 113 commands. Type pwndbg [filter] for a list.
Reading symbols from python...(no debugging symbols found)...done.
pwndbg> set exception-verbose on
Set whether to print a full stacktracefor exceptions raised in Pwndbg commands to True
pwndbg> run -c "print(1); print(2)"
Starting program: /usr/bin/python -c "print(1); print(2)"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
1
2
[Inferior 1 (process 20590) exited normally]
pwndbg> entry -c "print(1); print(2)"
('-c', 'print(1); print(2)')
Running '%s' run -c print(1); print(2)
/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `exec /usr/bin/python -c print(1); print(2)'
Traceback (most recent call last):
  File "/home/dc/installed/pwndbg/pwndbg/commands/__init__.py", line 100, in __call__
    return self.function(*args, **kwargs)
  File "/home/dc/installed/pwndbg/pwndbg/commands/__init__.py", line 181, in _OnlyWithFile
    return function(*a, **kw)
  File "/home/dc/installed/pwndbg/pwndbg/commands/start.py", line 72, in entry
    gdb.execute(run, from_tty=False)
gdb.error: During startup program exited with code 1.

If that is an issue, you can report it on https://github.com/pwndbg/pwndbg/issues
(Please don't forget to search if it hasn't been reported before)
PS: Pull requests are welcome
```

### My version

```
pwndbg> version
Gdb: GNU gdb (GDB) 8.0.1
Python: 3.6.3 (default, Oct 24 2017, 14:48:20)  [GCC 7.2.0]
Pwndbg: 1.0.0 build: 5811010
```


Discussion:

Resolving patch:
diff --git a/pwndbg/prompt.py b/pwndbg/prompt.py
--- a/pwndbg/prompt.py
+++ b/pwndbg/prompt.py
@@ -43,4 +43,5 @@ def prompt_hook_on_stop(*a):
 
 
 
+
 gdb.prompt_hook = prompt_hook


Test patch:
Repository: pwndbg/pwndbg

Issue:
Add `desc` to ArgparsedCommand; move some commmands to Argparsed~
* adds optional keyword argument -  `desc`  - to `ArgparsedCommand` so we don't have to create `argparse.ArgumentParser` if we don't want any parameters
* adds prints for cases when plt/gotplt sections doesnt have any symbols (so user will get an output out of plt/gotplt instead of nothing)
* minor code refactorings

Potentially we could merge ArgparsedCommand and Command in the future (and remove all other Command children).

Also continuation of https://github.com/pwndbg/pwndbg/issues/244


Discussion:
@zachriggle This do not break docstrings as they are set by `_ArgparsedCommand`:
```python
class _ArgparsedCommand(Command):
    def __init__(self, parser, function, *a, **kw):
        self.parser = parser
        self.parser.prog = function.__name__
        self.__doc__ = function.__doc__ = self.parser.description
        super(_ArgparsedCommand, self).__init__(function, *a, **kw)
```

```
In : pwndbg.commands.canary.canary.__doc__
'Print out the current stack canary.'
```

---
I have also changed it to use `parser_or_desc` argument with `isinstance` as you suggested.

I have also found out that `canary` has been broken by some previous changes. I am going to address that in another PR.
Thanks! 😘
On Fri, Dec 22, 2017 at 5:38 PM Disconnect3d <notifications@github.com>
wrote:

> Merged #373 <https://github.com/pwndbg/pwndbg/pull/373>.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/pwndbg/pwndbg/pull/373#event-1400223864>, or mute the
> thread
> <https://github.com/notifications/unsubscribe-auth/AAG0GK7rLHyd07VEAH-CQJKFWSxH3WIxks5tDD2JgaJpZM4REauF>
> .
>

Wrong emoji. ❤️
On Fri, Dec 22, 2017 at 7:57 PM Zach Riggle <zachriggle@gmail.com> wrote:

> Thanks! 😘
> On Fri, Dec 22, 2017 at 5:38 PM Disconnect3d <notifications@github.com>
> wrote:
>
>> Merged #373 <https://github.com/pwndbg/pwndbg/pull/373>.
>>
>> —
>> You are receiving this because you were mentioned.
>> Reply to this email directly, view it on GitHub
>> <https://github.com/pwndbg/pwndbg/pull/373#event-1400223864>, or mute
>> the thread
>> <https://github.com/notifications/unsubscribe-auth/AAG0GK7rLHyd07VEAH-CQJKFWSxH3WIxks5tDD2JgaJpZM4REauF>
>> .
>>
>


Resolving patch:
diff --git a/pwndbg/commands/__init__.py b/pwndbg/commands/__init__.py
--- a/pwndbg/commands/__init__.py
+++ b/pwndbg/commands/__init__.py
@@ -9,6 +9,7 @@
 import functools
 
 import gdb
+import six
 
 import pwndbg.chain
 import pwndbg.color
@@ -225,7 +226,7 @@ def __init__(self, parser_or_desc):
         """
         :param parser_or_desc: `argparse.ArgumentParser` instance or `str`
         """
-        if isinstance(parser_or_desc, str):
+        if isinstance(parser_or_desc, six.string_types):
             self.parser = argparse.ArgumentParser(description=parser_or_desc)
         else:
             self.parser = parser_or_desc


Test patch:
Repository: pwndbg/pwndbg

Issue:
Pwndbg failing with GDB using language different than English
### Description

After installing pwndbg with a GDB that uses Spanish language we do fail on detecting whether `osabi` is Linux.

This happens after launching GDB:
https://prnt.sc/itwf3u

And this is the return of `show osabi` for GDB with spanish language:
```
(gdb) show osabi                                     
El actual SO ABI es «auto» (actualmente «GNU/Linux»).
El SO ABI predeterminado es «GNU/Linux».             
```

This is the code responsible for failure:
https://github.com/pwndbg/pwndbg/blob/dev/pwndbg/abi.py#L127-L140




Discussion:

Resolving patch:
diff --git a/pwndbg/abi.py b/pwndbg/abi.py
--- a/pwndbg/abi.py
+++ b/pwndbg/abi.py
@@ -125,17 +125,23 @@ def update():
     global linux
 
     # Detect current ABI of client side by 'show osabi'
-    osabi_string = gdb.execute('show osabi', to_string=True)
-
-    # The return string will be:
-    # The current OS ABI is "auto" (currently "GNU/Linux").
-    match = re.search('currently "([^"]+)"', osabi_string)
-    if match:
-        # 'GNU/Linux': linux
-        # 'none': bare metal
-        abi = match.group(1)
-
-        linux = 'Linux' in abi
+    #
+    # Examples of strings returned by `show osabi`:
+    # 'The current OS ABI is "auto" (currently "GNU/Linux").\nThe default OS ABI is "GNU/Linux".\n'
+    # 'The current OS ABI is "GNU/Linux".\nThe default OS ABI is "GNU/Linux".\n'
+    # 'El actual SO ABI es «auto» (actualmente «GNU/Linux»).\nEl SO ABI predeterminado es «GNU/Linux».\n'
+    # 'The current OS ABI is "auto" (currently "none")'
+    #
+    # As you can see, there might be GDBs with different language versions
+    # and so we have to support it there too.
+    # Lets assume and hope that `current osabi` is returned in first line in all languages...
+    current_osabi = gdb.execute('show osabi', to_string=True).split('\n')[0]
+
+    # Currently we support those osabis:
+    # 'GNU/Linux': linux
+    # 'none': bare metal
+
+    linux = 'GNU/Linux' in current_osabi
 
     if not linux:
         msg = M.warn(


Test patch:
Repository: pwndbg/pwndbg

Issue:
command ez crashed in the newest dev version
when I tried to write a string into memory, I got two crashed errors
```
pwndbg> ez 0x603000 "this is a test"
Traceback (most recent call last):
  File "/home/bluecake/pwndbg/pwndbg/commands/__init__.py", line 109, in __call__
    return self.function(*args, **kwargs)
  File "/home/bluecake/pwndbg/pwndbg/commands/__init__.py", line 200, in _OnlyWhenRunning
    return function(*a, **kw)
  File "/home/bluecake/pwndbg/pwndbg/commands/windbg.py", line 162, in ez
    return eX(1, address, data[0], hex=False)
  File "/home/bluecake/pwndbg/pwndbg/commands/windbg.py", line 191, in eX
    pwndbg.memory.write(address + (i * size), data)
  File "/home/bluecake/pwndbg/pwndbg/memory.py", line 102, in write
    gdb.selected_inferior().write_memory(addr, bytes(data))
TypeError: string argument without an encoding

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bluecake/pwndbg/pwndbg/commands/__init__.py", line 71, in invoke
    return self(*args, **kwargs)
  File "/home/bluecake/pwndbg/pwndbg/commands/__init__.py", line 112, in __call__
    self.function.__doc__.strip()))
AttributeError: 'NoneType' object has no attribute 'strip'
Error occurred in Python command: 'NoneType' object has no attribute 'strip'
```
It seems that the data should be encoded with UTF-8 encoding format.

Here is my system version,
```
Gdb:      GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Python:   3.5.2 (default, Nov 23 2017, 16:37:01)  [GCC 5.4.0 20160609]
Pwndbg:   1.0.0 build: f595ba3
Capstone: 4.0.1024
Unicorn:  1.0.1
```


Discussion:

Resolving patch:
diff --git a/pwndbg/memory.py b/pwndbg/memory.py
--- a/pwndbg/memory.py
+++ b/pwndbg/memory.py
@@ -9,6 +9,7 @@
 from __future__ import unicode_literals
 
 import os
+from builtins import bytes
 
 import gdb
 
@@ -99,7 +100,7 @@ def write(addr, data):
         addr(int): Address to write
         data(str,bytes,bytearray): Data to write
     """
-    gdb.selected_inferior().write_memory(addr, bytes(data))
+    gdb.selected_inferior().write_memory(addr, bytes(data, 'utf8'))
 
 
 def peek(address):


Test patch:
Repository: pwndbg/pwndbg

Issue:
command eX crashed in the newest dev version
### Description

When I tried to write some value into memory, I got crashed errors.

```
pwndbg> version
Gdb:      GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Python:   3.5.2 (default, Nov 23 2017, 16:37:01)  [GCC 5.4.0 20160609]
Pwndbg:   1.0.0 build: 12d1aef
Capstone: 4.0.1024
Unicorn:  1.0.1

pwndbg> eq 0x00007ffff7bcd010 1
'eq': Write hex qwords at the specified address.
Traceback (most recent call last):
  File "/root/pwndbg/pwndbg/commands/__init__.py", line 109, in __call__
    return self.function(*args, **kwargs)
  File "/root/pwndbg/pwndbg/commands/__init__.py", line 200, in _OnlyWhenRunning
    return function(*a, **kw)
  File "/root/pwndbg/pwndbg/commands/windbg.py", line 148, in eq
    return eX(8, address, data)
  File "/root/pwndbg/pwndbg/commands/windbg.py", line 188, in eX
    pwndbg.memory.write(address + (i * size), data)
  File "/root/pwndbg/pwndbg/memory.py", line 103, in write
    gdb.selected_inferior().write_memory(addr, bytes(data, 'utf8'))
TypeError: encoding without a string argument
```

Seems it's related to PR #432 .
`data` is already bytes (generated by `codecs.decode`), except in `ez` command.



Discussion:
Hey,

Thanks for reporting this. Seems this issue was made by my last patch.
Let me fix that soon.

Resolving patch:
diff --git a/pwndbg/commands/windbg.py b/pwndbg/commands/windbg.py
--- a/pwndbg/commands/windbg.py
+++ b/pwndbg/commands/windbg.py
@@ -8,6 +8,8 @@
 from __future__ import print_function
 from __future__ import unicode_literals
 
+from builtins import str
+
 import argparse
 import codecs
 import math
@@ -172,9 +174,9 @@ def eX(size, address, data, hex=True):
     if address is None:
         return
 
-    for i,bytestr in enumerate(data):
+    for i, bytestr in enumerate(data):
         if hex:
-            bytestr = bytestr.rjust(size*2, '0')
+            bytestr = str(bytestr).rjust(size*2, '0')
             data    = codecs.decode(bytestr, 'hex')
         else:
             data    = bytestr
diff --git a/pwndbg/memory.py b/pwndbg/memory.py
--- a/pwndbg/memory.py
+++ b/pwndbg/memory.py
@@ -100,7 +100,10 @@ def write(addr, data):
         addr(int): Address to write
         data(str,bytes,bytearray): Data to write
     """
-    gdb.selected_inferior().write_memory(addr, bytes(data, 'utf8'))
+    if isinstance(data, str):
+        data = bytes(data, 'utf8')
+
+    gdb.selected_inferior().write_memory(addr, data)
 
 
 def peek(address):


Test patch:
Repository: pwndbg/pwndbg

Issue:
TypeError exception raised on up/down commands.
### Description

When running the command `up` or `down` with an integer argument, the following exception is raised:

```
Traceback (most recent call last):
  File "/home/david/.pwndbg/pwndbg/commands/__init__.py", line 109, in __call__
    return self.function(*args, **kwargs)
  File "/home/david/.pwndbg/pwndbg/commands/__init__.py", line 200, in _OnlyWhenRunning
    return function(*a, **kw)
  File "/home/david/.pwndbg/pwndbg/commands/ida.py", line 46, in up
    for i in range(n):
TypeError: 'str' object cannot be interpreted as an integer
```

### Steps to reproduce

Open any binary and attempt to do `up 2` during debugging.

### My setup

pwndbg> version
Gdb:      7.12.0.20161007-git
Python:   3.6.5rc1 (default, Mar 14 2018, 06:54:23)  [GCC 7.3.0]
Pwndbg:   1.0.0 build: f69b81e
Capstone: 4.0.1024
Unicorn:  1.0.1



Discussion:

Resolving patch:
diff --git a/pwndbg/commands/ida.py b/pwndbg/commands/ida.py
--- a/pwndbg/commands/ida.py
+++ b/pwndbg/commands/ida.py
@@ -43,10 +43,10 @@ def up(n=1):
     """
     f = gdb.selected_frame()
 
-    for i in range(n):
-        o = f.older()
-        if o:
-            o.select()
+    for i in range(int(n)):
+        if f.older():
+            f = f.older()
+    f.select()
 
     bt = pwndbg.commands.context.context_backtrace(with_banner=False)
     print('\n'.join(bt))
@@ -63,10 +63,10 @@ def down(n=1):
     """
     f = gdb.selected_frame()
 
-    for i in range(n):
-        o = f.newer()
-        if o:
-            o.select()
+    for i in range(int(n)):
+        if f.newer():
+            f = f.newer()
+    f.select()
 
     bt = pwndbg.commands.context.context_backtrace(with_banner=False)
     print('\n'.join(bt))


Test patch:
Repository: pwndbg/pwndbg

Issue:
new_objfile caching prevents event dispatching
### Description

I noticed that the [caching for new_objfile events](https://github.com/pwndbg/pwndbg/blob/dev/pwndbg/events.py#L153) actually prevents the calling of event handlers for that event, except for the first one registered. In effect, only the `_start_newobjfile` handler is called for new object files, none of the others.

### Steps to reproduce

Clone [this fork](https://github.com/andigena/pwndbg/tree/newobjfile_event) and check out the `newobjfile_event` branch. It adds some debug prints to the caching code, and registers a new handler for `new_objfile` that just prints a message if it's called. Then start debugging any program, and note how only the first registered handler is called for `new_objfile` events, which happens to be `_start_newobjfile`.

A sample session can be found [here](https://gist.github.com/andigena/bf4852ced1c0e6df214e5a6be4c6fe2f)

Moving the `im_just_a_print` declaration before the `_start_newobjfile` switches the registration order, so only `im_just_a_print` will actually be dispatched.

### My setup

Ubuntu 16.04 x64, 

```
pwndbg> version
Gdb:      7.11.1
Python:   3.5.2 (default, Nov 23 2017, 16:37:01)  [GCC 5.4.0 20160609]
Pwndbg:   1.0.0 build: 11e22ba
Capstone: 4.0.1024
Unicorn:  1.0.0
```


Discussion:

Resolving patch:
diff --git a/pwndbg/events.py b/pwndbg/events.py
--- a/pwndbg/events.py
+++ b/pwndbg/events.py
@@ -138,7 +138,7 @@ def __exit__(self, *a, **kw):
 # objects are loaded.  This greatly slows down the debugging session.
 # In order to combat this, we keep track of which objfiles have been loaded
 # this session, and only emit objfile events for each *new* file.
-objfile_cache = set()
+objfile_cache = dict()
 
 
 def connect(func, event_handler, name=''):
@@ -152,14 +152,15 @@ def caller(*a):
 
         if a and isinstance(a[0], gdb.NewObjFileEvent):
             objfile = a[0].new_objfile
+            handler = '%s.%s' % (func.__module__, func.__name__)
             path = objfile.filename
+            dispatched = objfile_cache.get(path, set())
 
-            if path in objfile_cache:
+            if handler in dispatched:
                 return
 
-            # print(path, objfile.is_valid())
-
-            objfile_cache.add(path)
+            dispatched.add(handler)
+            objfile_cache[path] = dispatched
 
         if pause:
             return
diff --git a/pwndbg/vmmap.py b/pwndbg/vmmap.py
--- a/pwndbg/vmmap.py
+++ b/pwndbg/vmmap.py
@@ -42,6 +42,8 @@
 @pwndbg.events.new_objfile
 @pwndbg.memoize.reset_on_stop
 def get():
+    if not pwndbg.proc.alive:
+        return tuple()
     pages = []
     pages.extend(proc_pid_maps())
 


Test patch:
Repository: pwndbg/pwndbg

Issue:
typo in the pwndbg help list
<!--
Before reporting a new issue, make sure that we do not have any duplicates already open.
If there is one it might be good to take part in the discussion there.

Please make sure you have checked that the issue persists on LATEST pwndbg version.

Below is a template for BUG REPORTS.
Don't include it if this is a FEATURE REQUEST.
-->


### Description
hi, there appears to be a typo in the help menu of pwndbg. whenever you access the 'pwndbg' command to see the help list some of the commands that should have the word 'breakpoint' have 'breapoint' instead.

[...]
bc                   Clear the breapoint with the specified index.
bd                   Disable the breapoint with the specified index.
be                   Enable the breapoint with the specified index.
[...]
<!--
Briefly describe the problem you are having in a few paragraphs.
-->

### Steps to reproduce
starting in terminal:
$: gdb name-of-file
pwndbg> pwndbg
<!--
What do we have to do to reproduce the problem?
If this is connected to particular C/asm code, 
please provide the smallest C code that reproduces the issue.
-->

### My setup
Gdb:      8.1.0.20180409-git
Python:   3.6.5 (default, Apr  1 2018, 05:46:30)  [GCC 7.3.0]
Pwndbg:   1.1.0 build: c188ed3
Capstone: 4.0.1024
Unicorn:  1.0.1
<!--
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
-->


Discussion:

Resolving patch:
diff --git a/pwndbg/commands/windbg.py b/pwndbg/commands/windbg.py
--- a/pwndbg/commands/windbg.py
+++ b/pwndbg/commands/windbg.py
@@ -258,7 +258,7 @@ def bl():
 @pwndbg.commands.Command
 def bd(which = '*'):
     """
-    Disable the breapoint with the specified index.
+    Disable the breakpoint with the specified index.
     """
     if which == '*':
         gdb.execute('disable breakpoints')
@@ -269,7 +269,7 @@ def bd(which = '*'):
 @pwndbg.commands.Command
 def be(which = '*'):
     """
-    Enable the breapoint with the specified index.
+    Enable the breakpoint with the specified index.
     """
     if which == '*':
         gdb.execute('enable breakpoints')
@@ -279,7 +279,7 @@ def be(which = '*'):
 @pwndbg.commands.Command
 def bc(which = '*'):
     """
-    Clear the breapoint with the specified index.
+    Clear the breakpoint with the specified index.
     """
     if which == '*':
         gdb.execute('delete breakpoints')


Test patch: