5.4 How do I debug an init file?

Start Emacs with the ‘-debug-init’ command-line option. This enables the Emacs Lisp debugger before evaluating your init file, and places you in the debugger if something goes wrong. The top line in the trace-back buffer will be the error message, and the second or third line of that buffer will display the Lisp code from your init file that caused the problem.

You can also evaluate an individual function or argument to a function in your init file by moving the cursor to the end of the function or argument and typing C-x C-e (M-x eval-last-sexp).

Use C-h v (M-x describe-variable) to check the value of variables which you are trying to set or use.