How do I properly use Physics2d.OverlapBox for ground and ceiling detection?

I am trying to all a character to walk on ceilings, wall, and of course floors and I was originally using the Physics2D.overlapcircle with no problem but it become bugged on corners since none of the corners triggered the overlap areas. The character sprite is rectangular and longer along the y-axis. Here’s the code I’m trying to use:
float my_y = my_collider.bounds.size.y / 2;
size_ground_and_ceiling_checks = new Vector2 (my_collider.bounds.size.x,my_y);

on_ground = Physics2D.OverlapBox (ground_check_transform.position,size_ground_and_ceiling_checks,all_check_layer);
on_ceiling = Physics2D.OverlapBox (ceiling_check_transform.position,size_ground_and_ceiling_checks,all_check_layer);

	if (on_ground) {
		rb.gravityScale = 3;
		my_sprite_renderer.flipY = false;
	}
	else if (on_ceiling) {
		Debug.Log ("On Ceiling Called");
		rb.gravityScale = -3;
		my_sprite_renderer.flipY = true;//player is on bottom of platform
	}

So far it has infinitely called that the character is on the floor, allowing them to jump without limit. Is there a way to debug Physics2D.overlapbox like show the collider?

From what i know Physics2D.OverlapBox asks for (col.bounds.center, col.bounds.extents, col.transform.rotation.[x or y], etc) where col is a collider2d