bug with Raycast?

I want to let a Raycast between two characters, but it’s going in the wrong direction (ray #2)

And DrawLine with the same settings as the Raycast is in the right direction (ray #1)

        Debug.DrawLine(this.transform.Find("Target").transform.position, i.transform.Find("Target").transform.position, Color.red);
        if (Physics.Raycast(this.transform.Find("Target").transform.position , i.transform.Find("Target").transform.position, out hit , dist))
                Debug.DrawLine(this.transform.Find("Target").transform.position, hit.point, Color.red);
                if (hit.transform.tag == tagE)
                    hit.transform.GetComponent<Helth>().CurrentHP -= 1;

What’s wrong?

Raycast and Drawline have two different casting systems: raycast works with a vector for the ray direction (from → into direction), drawline works with start and end point (from → to). You will need to calculate the direction vector by position difference (Character2.transform.position - Character1.transform.position).