You will sometimes read about the debugger of cheat engine, this is a thread that has access to the opened
process, and handles all debugging events, like creating threads, handling exceptions, etc...
A thread is a part of the program that runs separately from the rest of the program, but still has access to the
memory of the main program.
You will be prompted to attach the debugger to the current process if you try and use debugging options
(such as 'find what accesses/writes to this address') unless you are already attached or using kernelmode
debug routines.
The standard debugger may be detected
by certain targets. One way around this is to hook the
IsDebuggerPresent API currently used in such detections. CE has a feature which automatically perform this
step after attaching to a process. It is called 'Try to prevent detection of the debugger' and you can find it in
the options. It's not a guarantee though!