How to simulate PCIe to debug my FPGA endpoint
Yes - you should be debugging in simulation rather than using chipscope on the hardware.  For complex designs you will almost certainly save time in the long run by simulating.

Xilinx provide some help for simulating PCIe, you should first try and simulate the example designs (see here for Virtex 7 or this Answer Record for 6 series).

Since you are probably using a hard IP core you likely don't want to verify the PCIe core itself, you just want to co-simulate your driver software with your RTL.  Essentially you want to run your driver code to create TLPs in your simulation to debug the interaction between your driver and the hardare?

The best way to achieve this depends on your driver.  For example I've done something similar for a userspace mmap based driver: source code is available on Github.  If you want to co-simulate kernel drivers you may want to investigate QEMU or similar.  Alternatively you could mock the kernel calls.

The best option really depends on precisely what you are trying to achieve.  To validate your hardware, you may be best off building on the Xilinx examples, driving the BFMs and not trying to co-simulate your driver.  If you want to develop software against hardware then investing time in co-simulation may be beneficial.