Edebug works by instrumenting the definition of a function at the Lisp level: it cannot work on a built-in function like
apply because there is no Lisp definition that it can get its hands on to instrument.
If you are trying to debug
apply, you have to do it by running Emacs under a debugger like GDB and putting a breakpoint on the C function that is called
apply at the Lisp level. Do
C-h f apply, follow the link and you'll see that the C function is called
Fapply. So, start Emacs under GDB, put a breakpoint on
Fapply, start the program (i.e. Emacs) from the debugger and call
apply from Lisp: it will stop at the first statement of
Fapply and you can single step (in the C code) from there.
See the GDB manual for details. The point is that GNU Emacs is a C program, not a Lisp program, despite the fact that most of its functionality is implemented in Lisp: the core of it is written in C.