The Wikipedia article on ptrace says:
Communications between the controller and target take place using repeated calls of ptrace, passing a small fixed-size block of memory between the two (necessitating two context switches per call); this is acutely inefficient when accessing large amounts of the target's memory, as this can only be done in word sized blocks (with a ptrace call for each word).[7] For this reason the 8th edition of Unix introduced procfs, which allows permitted processes direct access to the memory of another process - 4.4BSD followed, and the use of /proc for debugger support was inherited by Solaris, BSD, and AIX, and mostly copied by Linux
Is faster memory access the only thing that a debugger would care about that /proc allows but which is not possible with ptrace? For example, is there more debugger-relevant information about the running program available through /proc? What about additional debugger-relevant ways to manipulate programs? Would /proc be generally more efficient than ptrace, or is reading large blocks of memory the only noticeably less performant case?