Pasting the code in helped me realise the problem - no perl_run()! It's not strictly required normally since I run code via call_perl() etc. but since the perl debugger is simple code in perl5db.pl that gets executed at require time, it was never actually getting executed.
The welcome message threw me off - I guess that must get printed in a BEGIN {} block.
Comment on Re^2: The perl debugger and an embedded interpreter