The advantage of normal stubs described above is flexibility. They also don't require any changes in target code. However, their execution is slow, because the target is stopped for each stub hit.
User stubs, on the other hand, are implemented as modification of the stubbed function on the target. Modifications can be of two types:
Note that both modifications mentioned above are performed in object code on the target by testIDEA, so you don't have to rebuild and download the code. After test the original object code is restored.
Note: It is important that prototypes of the stubbed and replacement functions match, otherwise results can be unpredictable.