One would often design tools specifically for an application. Depending on how nuts you went with that it could be quite luxorious. Map editors are the obvious example but if you need to find space for a disassembler you might as well make it part of the application.