For all $x_0\in [0,1]$, and if $f$ is continous at $x_0$, then it needs two conditions, 1)$\lim_{x\to x_o}f(x)$ must exists 2)$\lim_{x\to x_o}f(x)=f(x_0)$.
First we check whether $\lim_{x\to x_o}f(x)$ exists, this is equivalent to
$$\lim_{x\to x_o, x\in \mathbb{Q}}f(x)=\lim_{x\to x_o, x\in \mathbb{R}\setminus\mathbb{Q}}f(x)$$
Hence we must have $ax_0=bx_0\iff (a-b)x_0=0$.
If $a\neq b$, this can only be satisfied by $x_0=0$. Hence $[0,1]\setminus\{0\}\subset D$. Then we check whether it's continuous at $0$. Indeed it is, since $\lim_{x\to x_o, x\in \mathbb{Q}}f(x)=\lim_{x\to x_o, x\in \mathbb{R}\setminus\mathbb{Q}}f(x)=0=f(0)$. So the function is continuous at $0$ and $D=[0,1]\setminus\{0\}$.
If $a=b$, then $f(x)=ax \quad x\in [0,1]$. So $f$ is continous at $[0,1]$, $D=\emptyset$.