high level language debugging