## Where "screen" is your display surface:
screenshot = pygame.surface.Surface(screen.get_size())
pygame.image.save(screenshot,"screenshot.bmp")
Well, it doesn't crash, which is a step in the right direction, it just saves a blank (black) screen with the size of the screen resolution size.
Ian